Browse Source

remove non required Testable classes from tests

Olivier Massot 2 years ago
parent
commit
3dcb6a57e7

+ 11 - 14
tests/units/services/data/apiRequestService.test.ts

@@ -4,25 +4,13 @@ import {$Fetch, FetchOptions} from "ohmyfetch";
 import {HTTP_METHOD} from "~/types/enum/data";
 import {AssociativeArray} from "~/types/data";
 
-class TestableApiRequestService extends ApiRequestService {
-    public async request(
-        method: HTTP_METHOD,
-        url: string,
-        body: string | null = null,
-        params: AssociativeArray | null = null,
-        query: AssociativeArray | null = null
-    ): Promise<Response> {
-        return super.request(method, url, body, params, query)
-    }
-}
-
 let fetcher: $Fetch
-let apiRequestService: TestableApiRequestService
+let apiRequestService: ApiRequestService
 
 beforeEach(() => {
     // @ts-ignore
     fetcher = vi.fn((url: string, config: FetchOptions) => 'fetch_response') as $Fetch
-    apiRequestService = new TestableApiRequestService(fetcher)
+    apiRequestService = new ApiRequestService(fetcher)
 })
 
 const mockedRequestMethod = (
@@ -41,6 +29,7 @@ describe('get', () => {
         const result = await apiRequestService.get('https://myapi.com/api/item', { a: 1 })
 
         expect(result).toEqual('a_response')
+        // @ts-ignore
         expect(apiRequestService.request).toHaveBeenCalledWith(
             HTTP_METHOD.GET, 'https://myapi.com/api/item', null, null, { a: 1 }
         )
@@ -60,6 +49,7 @@ describe('post', () => {
         )
 
         expect(result).toEqual('a_response')
+        // @ts-ignore
         expect(apiRequestService.request).toHaveBeenCalledWith(
             HTTP_METHOD.POST,
             'https://myapi.com/api/item',
@@ -83,6 +73,7 @@ describe('put', () => {
         )
 
         expect(result).toEqual('a_response')
+        // @ts-ignore
         expect(apiRequestService.request).toHaveBeenCalledWith(
             HTTP_METHOD.PUT,
             'https://myapi.com/api/item',
@@ -104,6 +95,7 @@ describe('delete', () => {
         )
 
         expect(result).toEqual('a_response')
+        // @ts-ignore
         expect(apiRequestService.request).toHaveBeenCalledWith(
             HTTP_METHOD.DELETE,
             'https://myapi.com/api/item',
@@ -117,6 +109,7 @@ describe('delete', () => {
 describe('request', () => {
     test('simple call', async () => {
 
+        // @ts-ignore
         const result = await apiRequestService.request(HTTP_METHOD.GET, 'https://myapi.com/api/item')
 
         expect(result).toEqual('fetch_response')
@@ -126,6 +119,7 @@ describe('request', () => {
 
     test('post with body', async () => {
 
+        // @ts-ignore
         const result = await apiRequestService.request(HTTP_METHOD.POST, 'https://myapi.com/api/item', 'a_body')
 
         expect(result).toEqual('fetch_response')
@@ -135,6 +129,7 @@ describe('request', () => {
 
     test('put with body', async () => {
 
+        // @ts-ignore
         const result = await apiRequestService.request(HTTP_METHOD.PUT, 'https://myapi.com/api/item', 'a_body')
 
         expect(result).toEqual('fetch_response')
@@ -144,6 +139,7 @@ describe('request', () => {
 
     test('get : body must be ignored even if provided', async () => {
 
+        // @ts-ignore
         const result = await apiRequestService.request(HTTP_METHOD.GET, 'https://myapi.com/api/item', 'a_body')
 
         expect(result).toEqual('fetch_response')
@@ -152,6 +148,7 @@ describe('request', () => {
     })
 
     test('with query and params', async () => {
+        // @ts-ignore
         const result = await apiRequestService.request(
             HTTP_METHOD.PUT,
             'https://myapi.com/api/item',

+ 10 - 1
tests/units/services/data/entityManager.test.ts

@@ -1,4 +1,4 @@
-import { describe, test, it, expect } from 'vitest'
+import { describe, test, expect } from 'vitest'
 import EntityManager from "~/services/data/entityManager";
 import ApiResource from "~/models/ApiResource";
 import ApiModel from "~/models/ApiModel";
@@ -117,6 +117,7 @@ describe('newInstance', () => {
             return model === DummyApiResource ? repo : null
         })
 
+        // @ts-ignore
         entityManager.saveInitialState = vi.fn((model: typeof ApiResource, entity: ApiResource) => null)
 
         // @ts-ignore
@@ -551,6 +552,7 @@ describe('reset', () => {
         initialEntity.id = 1
         initialEntity.name = 'serges'
 
+        // @ts-ignore
         entityManager.getInitialStateOf = vi.fn((model: typeof ApiResource, id: string | number) => initialEntity)
 
         // @ts-ignore
@@ -566,6 +568,7 @@ describe('reset', () => {
 
         const result = entityManager.reset(DummyApiModel, entity)
 
+        // @ts-ignore
         expect(entityManager.getInitialStateOf).toHaveBeenCalledWith(DummyApiModel, 1)
         expect(repo.save).toHaveBeenCalledWith(initialEntity)
         expect(result).toEqual(initialEntity)
@@ -575,6 +578,7 @@ describe('reset', () => {
         const entity = new DummyApiModel()
         entity.id = 1
 
+        // @ts-ignore
         entityManager.getInitialStateOf = vi.fn((model: typeof ApiResource, id: string | number) => null)
 
         expect(() => entityManager.reset(DummyApiModel, entity)).toThrowError(
@@ -680,6 +684,7 @@ describe('saveInitialState', () => {
         // @ts-ignore
         repo.save = vi.fn((record: Element) => null)
 
+        // @ts-ignore
         entityManager.saveInitialState(DummyApiResource, entity)
 
         expect(repo.save).toHaveBeenCalledWith({ id: '_clone_1', name: 'bob' })
@@ -706,6 +711,7 @@ describe('getInitialStateOf', () => {
             return { id: 1, name: 'robert' } as DummyApiResource
         })
 
+        // @ts-ignore
         const result = entityManager.getInitialStateOf(DummyApiResource, 1) as DummyApiResource
 
         expect(repo.find).toHaveBeenCalledWith('_clone_1')
@@ -725,6 +731,7 @@ describe('getInitialStateOf', () => {
         // @ts-ignore
         repo.find = vi.fn((id: number | string) => null)
 
+        // @ts-ignore
         const result = entityManager.getInitialStateOf(DummyApiResource, 1) as DummyApiResource
 
         expect(repo.find).toHaveBeenCalledWith('_clone_1')
@@ -753,6 +760,7 @@ describe('removeTempAfterPersist', () => {
         // @ts-ignore
         repo.destroy = vi.fn()
 
+        // @ts-ignore
         entityManager.removeTempAfterPersist(DummyApiResource, 'tmp123')
 
         expect(repo.destroy).toHaveBeenCalledWith('tmp123')
@@ -804,6 +812,7 @@ describe('removeTempAfterPersist', () => {
 
         console.error = vi.fn()
 
+        // @ts-ignore
         entityManager.removeTempAfterPersist(DummyApiResource, 'tmp123')
 
         expect(repo.destroy).toHaveBeenCalledTimes(0)

+ 9 - 7
tests/units/services/data/imageManager.test.ts

@@ -4,12 +4,7 @@ import ImageManager from "~/services/data/imageManager";
 import 'blob-polyfill';
 
 let apiRequestService: ApiRequestService
-let imageManager: TestableImageManager
-
-class TestableImageManager extends ImageManager {
-    public async toBase64(data: string) { return super.toBase64(data) }
-    public getCacheKey() { return super.getCacheKey() }
-}
+let imageManager: ImageManager
 
 let init_console_error: any
 
@@ -17,7 +12,7 @@ beforeEach(() => {
     // @ts-ignore
     apiRequestService = vi.fn() as ApiRequestService
 
-    imageManager = new TestableImageManager(apiRequestService)
+    imageManager = new ImageManager(apiRequestService)
 
     // Important : Restore console error after mocking
     init_console_error = console.error
@@ -35,6 +30,7 @@ describe('get', () => {
         // @ts-ignore
         apiRequestService.get = vi.fn((url: string) => data)
 
+        // @ts-ignore
         imageManager.getCacheKey = vi.fn(() => '123456')
 
         // @ts-ignore
@@ -61,6 +57,7 @@ describe('get', () => {
         // @ts-ignore
         apiRequestService.get = vi.fn((url: string) => '')
 
+        // @ts-ignore
         imageManager.getCacheKey = vi.fn(() => '123456')
         // @ts-ignore
         imageManager.toBase64 = vi.fn()
@@ -71,6 +68,7 @@ describe('get', () => {
 
         expect(apiRequestService.get).toHaveBeenCalledWith('api/download/1', ['123456'])
         expect(console.error).toHaveBeenCalledWith('Error: image 1 not found or invalid')
+        // @ts-ignore
         expect(imageManager.toBase64).toHaveBeenCalledTimes(0)
 
         expect(result).toEqual(ImageManager.defaultImage)
@@ -80,6 +78,7 @@ describe('get', () => {
         // @ts-ignore
         apiRequestService.get = vi.fn((url: string) => '')
 
+        // @ts-ignore
         imageManager.getCacheKey = vi.fn(() => '123456')
 
         // @ts-ignore
@@ -91,6 +90,7 @@ describe('get', () => {
 
         expect(apiRequestService.get).toHaveBeenCalledWith('api/download/1', ['123456'])
         expect(console.error).toHaveBeenCalledWith('Error: image 1 not found or invalid')
+        // @ts-ignore
         expect(imageManager.toBase64).toHaveBeenCalledTimes(0)
 
         expect(result).toEqual('some_default.jpg')
@@ -99,12 +99,14 @@ describe('get', () => {
 
 describe('toBase64', () => {
     test('simple call', async () => {
+        // @ts-ignore
         expect(await imageManager.toBase64('some_data')).toEqual('data:image/jpeg;base64,c29tZV9kYXRh')
     })
 })
 
 describe('getCacheKey', () => {
     test('simple call', () => {
+        // @ts-ignore
         expect(imageManager.getCacheKey()).toMatch(/\d{10,}/)
     })
 })

+ 18 - 15
tests/units/services/data/normalizer/hydraDenormalizer.test.ts

@@ -3,12 +3,6 @@ import {AnyJson, ApiResponse, HydraMetadata} from "~/types/data";
 import HydraDenormalizer from "~/services/data/normalizer/hydraDenormalizer";
 import {METADATA_TYPE} from "~/types/enum/data";
 
-class TestableHydraDenormalizer extends HydraDenormalizer {
-    public static denormalize(hydraData: AnyJson): ApiResponse { return super.denormalize(hydraData) }
-    public static getData(hydraData: AnyJson): AnyJson { return super.getData(hydraData) }
-    public static getMetadata(data: AnyJson): HydraMetadata { return super.getMetadata(data) }
-}
-
 describe('denormalize', () => {
 
     test('should parse a API Item response and return a JSON Object', () => {
@@ -28,8 +22,10 @@ describe('denormalize', () => {
 
         const result = HydraDenormalizer.denormalize(data)
 
-        expect(result.data).toEqual(TestableHydraDenormalizer.getData(data))
-        expect(result.metadata).toEqual(TestableHydraDenormalizer.getMetadata(data))
+        // @ts-ignore
+        expect(result.data).toEqual(HydraDenormalizer.getData(data))
+        // @ts-ignore
+        expect(result.metadata).toEqual(HydraDenormalizer.getMetadata(data))
 
         const expected = {
             "data": {
@@ -92,8 +88,10 @@ describe('denormalize', () => {
 
         const result = HydraDenormalizer.denormalize(data)
 
-        expect(result.data).toEqual(TestableHydraDenormalizer.getData(data))
-        expect(result.metadata).toEqual(TestableHydraDenormalizer.getMetadata(data))
+        // @ts-ignore
+        expect(result.data).toEqual(HydraDenormalizer.getData(data))
+        // @ts-ignore
+        expect(result.metadata).toEqual(HydraDenormalizer.getMetadata(data))
 
         const expected = JSON.stringify(
             {"data":[
@@ -144,7 +142,8 @@ describe('getData', () => {
             "hydra:member": [ 'foo' ],
         }
 
-        expect(TestableHydraDenormalizer.getData(data)).toEqual([ 'foo' ])
+        // @ts-ignore
+        expect(HydraDenormalizer.getData(data)).toEqual([ 'foo' ])
     })
 
     test('With item', () => {
@@ -155,7 +154,8 @@ describe('getData', () => {
             "param1": 'a',
         }
 
-        expect(TestableHydraDenormalizer.getData(data)).toEqual(data)
+        // @ts-ignore
+        expect(HydraDenormalizer.getData(data)).toEqual(data)
     })
 })
 
@@ -177,7 +177,8 @@ describe('getMetadata', () => {
             }
         }
 
-        const metadata = TestableHydraDenormalizer.getMetadata(data)
+        // @ts-ignore
+        const metadata = HydraDenormalizer.getMetadata(data)
 
         expect(metadata.totalItems).toEqual(10)
         expect(metadata.firstPage).toEqual(1)
@@ -200,7 +201,8 @@ describe('getMetadata', () => {
             }
         }
 
-        const metadata = TestableHydraDenormalizer.getMetadata(data)
+        // @ts-ignore
+        const metadata = HydraDenormalizer.getMetadata(data)
 
         expect(metadata.totalItems).toEqual(10)
         expect(metadata.firstPage).toEqual(1)
@@ -210,7 +212,8 @@ describe('getMetadata', () => {
     })
 
     test('With item metadata', () => {
-        const metadata = TestableHydraDenormalizer.getMetadata({})
+        // @ts-ignore
+        const metadata = HydraDenormalizer.getMetadata({})
         expect(metadata.type).toEqual(METADATA_TYPE.ITEM)
     })
 })

+ 19 - 11
tests/units/services/layout/menuBuilder/mainMenuBuilder.test.ts

@@ -1,9 +1,9 @@
-import { describe, test, it, expect } from 'vitest'
+import { describe, test, expect } from 'vitest'
 import {RuntimeConfig} from "@nuxt/schema";
 import {AnyAbility} from "@casl/ability/dist/types";
 import {AccessProfile, organizationState} from "~/types/interfaces";
 import MainMenuBuilder from "~/services/layout/menuBuilder/mainMenuBuilder";
-import {MenuGroup, MenuItem} from "~/types/layout";
+import {MenuGroup} from "~/types/layout";
 import {MENU_LINK_TYPE} from "~/types/enum/layout";
 import AbstractMenuBuilder from "~/services/layout/menuBuilder/abstractMenuBuilder";
 import AccessMenuBuilder from "~/services/layout/menuBuilder/accessMenuBuilder";
@@ -23,14 +23,7 @@ let runtimeConfig: RuntimeConfig
 let ability: AnyAbility
 let organizationProfile: organizationState
 let accessProfile: AccessProfile
-let menuBuilder: TestableMainMenuBuilder
-
-class TestableMainMenuBuilder extends MainMenuBuilder {
-    public buildSubmenu(menuBuilder: typeof AbstractMenuBuilder) {
-        return super.buildSubmenu(menuBuilder)
-    }
-}
-
+let menuBuilder: MainMenuBuilder
 
 beforeEach(()=> {
     runtimeConfig = vi.fn() as any as RuntimeConfig
@@ -40,7 +33,7 @@ beforeEach(()=> {
 
     runtimeConfig.baseUrlAdminLegacy = 'https://mydomain.com/'
 
-    menuBuilder = new TestableMainMenuBuilder(runtimeConfig, ability, organizationProfile, accessProfile)
+    menuBuilder = new MainMenuBuilder(runtimeConfig, ability, organizationProfile, accessProfile)
 })
 
 describe('getMenuName', () => {
@@ -51,23 +44,36 @@ describe('getMenuName', () => {
 
 describe('build', () => {
     test('return all menus', () => {
+        // @ts-ignore
         menuBuilder.buildSubmenu = vi.fn((menuBuilder: typeof AbstractMenuBuilder): MenuGroup => {
             return { label: 'foo' }
         })
 
         const result = menuBuilder.build() as MenuGroup
 
+        // @ts-ignore
         expect(menuBuilder.buildSubmenu).toBeCalledWith(AccessMenuBuilder)
+        // @ts-ignore
         expect(menuBuilder.buildSubmenu).toBeCalledWith(AgendaMenuBuilder)
+        // @ts-ignore
         expect(menuBuilder.buildSubmenu).toBeCalledWith(EquipmentMenuBuilder)
+        // @ts-ignore
         expect(menuBuilder.buildSubmenu).toBeCalledWith(EducationalMenuBuilder)
+        // @ts-ignore
         expect(menuBuilder.buildSubmenu).toBeCalledWith(BillingMenuBuilder)
+        // @ts-ignore
         expect(menuBuilder.buildSubmenu).toBeCalledWith(CommunicationMenuBuilder)
+        // @ts-ignore
         expect(menuBuilder.buildSubmenu).toBeCalledWith(DonorsMenuBuilder)
+        // @ts-ignore
         expect(menuBuilder.buildSubmenu).toBeCalledWith(MedalsMenuBuilder)
+        // @ts-ignore
         expect(menuBuilder.buildSubmenu).toBeCalledWith(WebsiteAdminMenuBuilder)
+        // @ts-ignore
         expect(menuBuilder.buildSubmenu).toBeCalledWith(CotisationsMenuBuilder)
+        // @ts-ignore
         expect(menuBuilder.buildSubmenu).toBeCalledWith(StatsMenuBuilder)
+        // @ts-ignore
         expect(menuBuilder.buildSubmenu).toBeCalledWith(Admin2iosMenuBuilder)
 
         expect(result.label).toEqual('main')
@@ -76,6 +82,7 @@ describe('build', () => {
     })
 
     test('return a single group', () => {
+        // @ts-ignore
         menuBuilder.buildSubmenu = vi.fn((menuBuilder: typeof AbstractMenuBuilder): MenuGroup | null => {
             if (menuBuilder.menuName === 'Access') {
                 return { label: 'submenu', children: [
@@ -94,6 +101,7 @@ describe('build', () => {
     })
 
     test('return null', () => {
+        // @ts-ignore
         menuBuilder.buildSubmenu = vi.fn((menuBuilder: typeof AbstractMenuBuilder): MenuGroup | null => {
             return  null
         })

+ 37 - 8
tests/units/services/rights/abilityBuilder.test.ts

@@ -1,18 +1,13 @@
-import { describe, test, it, expect } from 'vitest'
+import { describe, test, expect } from 'vitest'
 import {MongoAbility} from "@casl/ability/dist/types/Ability";
 import {AbilitiesType, AccessProfile, organizationState} from "~/types/interfaces";
 import AbilityBuilder from "~/services/rights/abilityBuilder";
 import {ABILITIES} from "~/types/enum/enums";
-import yaml from "yaml-import";
 
 let ability: MongoAbility
 let accessProfile: AccessProfile
 let organizationProfile: organizationState
-let abilityBuilder: TestableAbilityBuilder
-
-class TestableAbilityBuilder extends AbilityBuilder {
-    public execAndValidateCondition(condition: any, subject: string = '') { return super.execAndValidateCondition(condition, subject) }
-}
+let abilityBuilder: AbilityBuilder
 
 // Mock the content of the config yaml files
 // > This must be done in the global scope: https://vitest.dev/api/vi.html#vi-mock
@@ -49,7 +44,7 @@ beforeEach(() => {
     accessProfile = vi.fn() as any as AccessProfile
     organizationProfile = vi.fn() as any as organizationState
 
-    abilityBuilder = new TestableAbilityBuilder(ability, accessProfile, organizationProfile)
+    abilityBuilder = new AbilityBuilder(ability, accessProfile, organizationProfile)
 })
 
 describe('buildAbilities', () => {
@@ -149,6 +144,7 @@ describe('execAndValidateCondition', () => {
         })
 
         expect(
+            // @ts-ignore
             abilityBuilder.execAndValidateCondition(
                 {
                     'function': 'accessHasAllRoleAbilities',
@@ -160,6 +156,7 @@ describe('execAndValidateCondition', () => {
         ).toBeTruthy()
 
         expect(
+            // @ts-ignore
             abilityBuilder.execAndValidateCondition(
                 {
                     'function': 'accessHasAllRoleAbilities',
@@ -177,6 +174,7 @@ describe('execAndValidateCondition', () => {
         })
 
         expect(
+            // @ts-ignore
             abilityBuilder.execAndValidateCondition(
                 {
                     'function': 'accessHasAnyRoleAbility',
@@ -188,6 +186,7 @@ describe('execAndValidateCondition', () => {
         ).toBeTruthy()
 
         expect(
+            // @ts-ignore
             abilityBuilder.execAndValidateCondition(
                 {'function': 'accessHasAnyRoleAbility', parameters: [{action: ABILITIES.READ, subject: 'subject2'}]})
         ).toBeFalsy()
@@ -199,18 +198,21 @@ describe('execAndValidateCondition', () => {
         accessProfile.isPayer = true
 
         expect(
+            // @ts-ignore
             abilityBuilder.execAndValidateCondition(
                 {'function': 'accessHasAnyProfile', parameters: ['guardian', 'payer']}
             )
         ).toBeTruthy()
 
         expect(
+            // @ts-ignore
             abilityBuilder.execAndValidateCondition(
                 {'function': 'accessHasAnyProfile', parameters: ['guardian', 'caMember']}
             )
         ).toBeTruthy()
 
         expect(
+            // @ts-ignore
             abilityBuilder.execAndValidateCondition(
                 {'function': 'accessHasAnyProfile', parameters: ['caMember']}
             )
@@ -224,18 +226,21 @@ describe('execAndValidateCondition', () => {
         )
 
         expect(
+            // @ts-ignore
             abilityBuilder.execAndValidateCondition(
                 {'function': 'organizationHasAllModules', parameters: ['module1', 'module2']}
             )
         ).toBeTruthy()
 
         expect(
+            // @ts-ignore
             abilityBuilder.execAndValidateCondition(
                 {'function': 'organizationHasAllModules', parameters: ['module1', 'module3']}
             )
         ).toBeFalsy()
 
         expect(
+            // @ts-ignore
             abilityBuilder.execAndValidateCondition(
                 {'function': 'organizationHasAllModules', parameters: ['module3']}
             )
@@ -249,18 +254,21 @@ describe('execAndValidateCondition', () => {
         )
 
         expect(
+            // @ts-ignore
             abilityBuilder.execAndValidateCondition(
                 {'function': 'organizationHasAnyModule', parameters: ['module1', 'module2']}
             )
         ).toBeTruthy()
 
         expect(
+            // @ts-ignore
             abilityBuilder.execAndValidateCondition(
                 {'function': 'organizationHasAnyModule', parameters: ['module1', 'module3']}
             )
         ).toBeTruthy()
 
         expect(
+            // @ts-ignore
             abilityBuilder.execAndValidateCondition(
                 {'function': 'organizationHasAnyModule', parameters: ['module3']}
             )
@@ -270,90 +278,108 @@ describe('execAndValidateCondition', () => {
     test('organizationHasAnyModule', () => {
         // @ts-ignore
         accessProfile.isAdminAccount = true
+        // @ts-ignore
         expect(abilityBuilder.execAndValidateCondition({'function': 'accessIsAdminAccount'})).toBeTruthy()
 
         // @ts-ignore
         accessProfile.isAdminAccount = false
+        // @ts-ignore
         expect(abilityBuilder.execAndValidateCondition({'function': 'accessIsAdminAccount'})).toBeFalsy()
     })
 
     test('organizationIsSchool', () => {
         // @ts-ignore
         organizationProfile.isSchool = true
+        // @ts-ignore
         expect(abilityBuilder.execAndValidateCondition({'function': 'organizationIsSchool'})).toBeTruthy()
 
         // @ts-ignore
         organizationProfile.isSchool = false
+        // @ts-ignore
         expect(abilityBuilder.execAndValidateCondition({'function': 'organizationIsSchool'})).toBeFalsy()
     })
 
     test('organizationIsArtist', () => {
         // @ts-ignore
         organizationProfile.isArtist = true
+        // @ts-ignore
         expect(abilityBuilder.execAndValidateCondition({'function': 'organizationIsArtist'})).toBeTruthy()
 
         // @ts-ignore
         organizationProfile.isArtist = false
+        // @ts-ignore
         expect(abilityBuilder.execAndValidateCondition({'function': 'organizationIsArtist'})).toBeFalsy()
     })
 
     test('organizationIsManagerProduct', () => {
         // @ts-ignore
         organizationProfile.isManagerProduct = true
+        // @ts-ignore
         expect(abilityBuilder.execAndValidateCondition({'function': 'organizationIsManagerProduct'})).toBeTruthy()
 
         // @ts-ignore
         organizationProfile.isManagerProduct = false
+        // @ts-ignore
         expect(abilityBuilder.execAndValidateCondition({'function': 'organizationIsManagerProduct'})).toBeFalsy()
     })
 
     test('organizationHasChildren', () => {
         // @ts-ignore
         organizationProfile.hasChildren = true
+        // @ts-ignore
         expect(abilityBuilder.execAndValidateCondition({'function': 'organizationHasChildren'})).toBeTruthy()
 
         // @ts-ignore
         organizationProfile.hasChildren = false
+        // @ts-ignore
         expect(abilityBuilder.execAndValidateCondition({'function': 'organizationHasChildren'})).toBeFalsy()
     })
 
     test('organizationIsAssociation', () => {
         // @ts-ignore
         organizationProfile.isAssociation = true
+        // @ts-ignore
         expect(abilityBuilder.execAndValidateCondition({'function': 'organizationIsAssociation'})).toBeTruthy()
 
         // @ts-ignore
         organizationProfile.isAssociation = false
+        // @ts-ignore
         expect(abilityBuilder.execAndValidateCondition({'function': 'organizationIsAssociation'})).toBeFalsy()
     })
 
     test('organizationIsShowAdherentList', () => {
         // @ts-ignore
         organizationProfile.isShowAdherentList = true
+        // @ts-ignore
         expect(abilityBuilder.execAndValidateCondition({'function': 'organizationIsShowAdherentList'})).toBeTruthy()
 
         // @ts-ignore
         organizationProfile.isShowAdherentList = false
+        // @ts-ignore
         expect(abilityBuilder.execAndValidateCondition({'function': 'organizationIsShowAdherentList'})).toBeFalsy()
     })
 
     test('organizationIsCmf', () => {
         // @ts-ignore
         organizationProfile.isCmf = true
+        // @ts-ignore
         expect(abilityBuilder.execAndValidateCondition({'function': 'organizationIsCmf'})).toBeTruthy()
 
         // @ts-ignore
         organizationProfile.isCmf = false
+        // @ts-ignore
         expect(abilityBuilder.execAndValidateCondition({'function': 'organizationIsCmf'})).toBeFalsy()
     })
 
     test('organizationHasWebsite', () => {
         // @ts-ignore
         organizationProfile.getWebsite = true
+        // @ts-ignore
         expect(abilityBuilder.execAndValidateCondition({'function': 'organizationHasWebsite'})).toBeTruthy()
 
         // @ts-ignore
         organizationProfile.getWebsite = false
+        // @ts-ignore
         expect(abilityBuilder.execAndValidateCondition({'function': 'organizationHasWebsite'})).toBeFalsy()
     })
 
@@ -362,16 +388,19 @@ describe('execAndValidateCondition', () => {
         organizationProfile.getWebsite = true
 
         expect(
+            // @ts-ignore
             abilityBuilder.execAndValidateCondition({'function': 'organizationHasWebsite', expectedResult: true})
         ).toBeTruthy()
 
         expect(
+            // @ts-ignore
             abilityBuilder.execAndValidateCondition({'function': 'organizationHasWebsite', expectedResult: 'abc'})
         ).toBeFalsy()
     })
 
     test('invalid function', () => {
         expect(
+            // @ts-ignore
             () => abilityBuilder.execAndValidateCondition({'function': 'invalid'})
         ).toThrowError('unknown condition function : invalid')
     })

+ 3 - 0
tests/units/services/sse/sseSource.test.ts

@@ -25,6 +25,8 @@ let onMessage: (data: Array<any>) => any
 let onClose: () => any
 let sseSource: TestableSseSource
 
+const init_console_log = console.log
+
 beforeEach(() => {
     mercureUrl = 'https://my.mercure.com'
     topic = 'mytopic'
@@ -37,6 +39,7 @@ beforeEach(() => {
 })
 
 afterEach(() => {
+    console.log = init_console_log
     vi.restoreAllMocks()
 })