@@ -81,23 +81,31 @@ describe('PartnerAccessService', () => {
81
81
it ( 'should be defined' , ( ) => {
82
82
expect ( service ) . toBeDefined ( ) ;
83
83
} ) ;
84
+
84
85
describe ( 'createPartnerAccess' , ( ) => {
85
86
it ( 'when supplied with correct data should return access code' , async ( ) => {
86
87
const partnerAccessDto = { ...mockPartnerAccessEntityBase , ...createPartnerAccessDto } ;
88
+ const expectedPartnerAccess = {
89
+ ...partnerAccessDto ,
90
+ partnerAdminId,
91
+ partnerId,
92
+ accessCode : '123456' ,
93
+ } ;
94
+
95
+ const partnerAccessRepositorySpy = jest
96
+ . spyOn ( mockPartnerAccessRepository , 'save' )
97
+ . mockImplementationOnce ( jest . fn ( ) . mockResolvedValue ( expectedPartnerAccess ) ) as never ;
87
98
88
99
const { ...newPartnerAccess } = await service . createPartnerAccess (
89
100
partnerAccessDto ,
90
101
partnerId ,
91
102
partnerAdminId ,
92
103
) ;
93
- expect ( newPartnerAccess ) . toStrictEqual ( {
94
- ...partnerAccessDto ,
95
- partnerAdminId,
96
- partnerId,
97
- accessCode : '123456' ,
98
- } ) ;
104
+ expect ( newPartnerAccess ) . toStrictEqual ( expectedPartnerAccess ) ;
99
105
expect ( newPartnerAccess . accessCode ) . toHaveLength ( 6 ) ;
106
+ expect ( partnerAccessRepositorySpy ) . toHaveBeenCalled ( ) ;
100
107
} ) ;
108
+
101
109
it ( 'tries again when it creates a code that already exists' , async ( ) => {
102
110
const repoSpyCreateQueryBuilder = jest . spyOn ( repo , 'createQueryBuilder' ) ;
103
111
// Mocks that the accesscode already exists
@@ -116,6 +124,7 @@ describe('PartnerAccessService', () => {
116
124
repoSpyCreateQueryBuilder . mockRestore ( ) ;
117
125
} ) ;
118
126
} ) ;
127
+
119
128
describe ( 'assignPartnerAccess' , ( ) => {
120
129
it ( 'should update crisp profile and assign partner access' , async ( ) => {
121
130
const repoSpyCreateQueryBuilder = jest . spyOn ( repo , 'createQueryBuilder' ) ;
@@ -157,6 +166,7 @@ describe('PartnerAccessService', () => {
157
166
} ) ;
158
167
} ) ;
159
168
} ) ;
169
+
160
170
describe ( 'assignPartnerAccessOnSignUp' , ( ) => {
161
171
it ( 'when partnerAccess is supplied, it should create a partner access and assign to user' , async ( ) => {
162
172
jest . spyOn ( repo , 'createQueryBuilder' ) . mockImplementationOnce (
@@ -177,6 +187,7 @@ describe('PartnerAccessService', () => {
177
187
expect ( partnerAccess . featureTherapy ) . toBeTruthy ( ) ;
178
188
} ) ;
179
189
} ) ;
190
+
180
191
describe ( 'createAndAssignPartnerAccess' , ( ) => {
181
192
it ( 'when partnerId is supplied, it should create a partner access and assign to user' , async ( ) => {
182
193
const partnerAccess = await service . createAndAssignPartnerAccess (
@@ -192,6 +203,7 @@ describe('PartnerAccessService', () => {
192
203
expect ( partnerAccess . featureTherapy ) . toBeFalsy ( ) ;
193
204
} ) ;
194
205
} ) ;
206
+
195
207
describe ( 'getPartnerAccessCodes' , ( ) => {
196
208
it ( 'when no filter dto is supplied, it should return all partner accesses' , async ( ) => {
197
209
const partnerAccesses = await service . getPartnerAccessCodes ( undefined ) ;
@@ -244,6 +256,7 @@ describe('PartnerAccessService', () => {
244
256
) ;
245
257
} ) ;
246
258
} ) ;
259
+
247
260
describe ( 'getUserTherapySessions' , ( ) => {
248
261
it ( 'should return user emails with their total therapy sessions available and an associated access code id' , async ( ) => {
249
262
const repoSpyCreateQueryBuilder = jest . spyOn ( repo , 'createQueryBuilder' ) ;
0 commit comments