|
| 1 | +import { Practitioner } from '@shared/business/entities/Practitioner'; |
| 2 | +import { ROLES } from '@shared/business/entities/EntityConstants'; |
| 3 | +import { User } from '@shared/business/entities/User'; |
| 4 | +import { UserFactory } from '@shared/business/entities/factories/UserFactory'; |
| 5 | + |
| 6 | +describe('UserFactory', () => { |
| 7 | + describe('getClass', () => { |
| 8 | + it('should return "Practitioner" class type if role is "privatePractitioner"', () => { |
| 9 | + const TEST_USER = { role: ROLES.privatePractitioner }; |
| 10 | + const userFactory = new UserFactory(TEST_USER); |
| 11 | + const classInstance = userFactory.getClass(); |
| 12 | + expect(classInstance).toEqual(Practitioner); |
| 13 | + }); |
| 14 | + |
| 15 | + it('should return "Practitioner" class type if role is "irsPractitioner"', () => { |
| 16 | + const TEST_USER = { role: ROLES.irsPractitioner }; |
| 17 | + const userFactory = new UserFactory(TEST_USER); |
| 18 | + const classInstance = userFactory.getClass(); |
| 19 | + expect(classInstance).toEqual(Practitioner); |
| 20 | + }); |
| 21 | + |
| 22 | + it('should return "Practitioner" class type if role is "inactivePractitioner"', () => { |
| 23 | + const TEST_USER = { role: ROLES.inactivePractitioner }; |
| 24 | + const userFactory = new UserFactory(TEST_USER); |
| 25 | + const classInstance = userFactory.getClass(); |
| 26 | + expect(classInstance).toEqual(Practitioner); |
| 27 | + }); |
| 28 | + |
| 29 | + it('should return "Practitioner" class type if role is "inactivePractitioner"', () => { |
| 30 | + const TEST_USER = { role: ROLES.admin }; |
| 31 | + const userFactory = new UserFactory(TEST_USER); |
| 32 | + const classInstance = userFactory.getClass(); |
| 33 | + expect(classInstance).toEqual(User); |
| 34 | + }); |
| 35 | + }); |
| 36 | +}); |
0 commit comments