Skip to content

Commit 3504123

Browse files
authored
fix: service user included partner data (#468)
1 parent 3978d94 commit 3504123

File tree

5 files changed

+28
-20
lines changed

5 files changed

+28
-20
lines changed

src/partner-access/partner-access.service.spec.ts

+4-3
Original file line numberDiff line numberDiff line change
@@ -60,6 +60,8 @@ describe('PartnerAccessService', () => {
6060
let mockPartnerAccessRepository: DeepMocked<Repository<PartnerAccessEntity>>;
6161

6262
beforeEach(async () => {
63+
jest.clearAllMocks();
64+
6365
mockPartnerRepository = createMock<Repository<PartnerEntity>>(mockPartnerRepositoryMethods);
6466
mockPartnerAccessRepository = createMock<Repository<PartnerAccessEntity>>(
6567
mockPartnerAccessRepositoryMethods,
@@ -136,7 +138,7 @@ describe('PartnerAccessService', () => {
136138
return {
137139
...mockPartnerAccessEntity,
138140
id: 'pa1',
139-
userId: mockGetUserDto.user.id,
141+
userId: mockUserEntity.id,
140142
};
141143
});
142144
// Mocks that the accesscode already exists
@@ -146,13 +148,12 @@ describe('PartnerAccessService', () => {
146148

147149
expect(partnerAccess).toEqual({
148150
...mockPartnerAccessEntity,
149-
id: 'pa1',
150151
userId: mockUserEntity.id,
151152
activatedAt: partnerAccess.activatedAt,
152153
});
153154

154155
expect(profileData.updateServiceUserProfilesPartnerAccess).toHaveBeenCalledWith(
155-
[partnerAccess],
156+
[mockPartnerAccessEntity],
156157
mockUserEntity.email,
157158
);
158159
});

src/partner-access/partner-access.service.ts

+6-3
Original file line numberDiff line numberDiff line change
@@ -187,9 +187,12 @@ export class PartnerAccessService {
187187
assignedPartnerAccess.partner = partnerAccess.partner;
188188

189189
try {
190-
const partnerAccesses = await this.partnerAccessRepository.findBy({
191-
userId: user.id,
192-
active: true,
190+
const partnerAccesses = await this.partnerAccessRepository.find({
191+
where: {
192+
userId: user.id,
193+
active: true,
194+
},
195+
relations: { partner: true },
193196
});
194197
updateServiceUserProfilesPartnerAccess(partnerAccesses, user.email);
195198
} catch (error) {

src/utils/constants.ts

+11-3
Original file line numberDiff line numberDiff line change
@@ -53,17 +53,25 @@ export enum COMMUNICATION_SERVICE {
5353
MAILCHIMP = 'MAILCHIMP',
5454
}
5555

56+
export enum ENVIRONMENTS {
57+
DEVELOPMENT = 'development',
58+
STAGING = 'staging',
59+
PRODUCTION = 'production',
60+
TESTING = 'testing',
61+
}
62+
5663
const getEnv = (env: string, envName: string): string => {
5764
try {
58-
if (!env) throw `Unable to get environemt variable ${envName}`;
65+
if (!env) throw `Unable to get environment variable ${envName}`;
5966

6067
return env;
6168
} catch (error) {
62-
console.log(error);
69+
if (nodeEnv !== ENVIRONMENTS.TESTING) console.log(error);
6370
}
6471
};
6572

66-
export const isProduction = getEnv(process.env.NODE_ENV, 'NODE_ENV') === 'production';
73+
export const nodeEnv = getEnv(process.env.NODE_ENV, 'NODE_ENV');
74+
export const isProduction = nodeEnv === ENVIRONMENTS.PRODUCTION;
6775

6876
export const rollbarEnv = getEnv(process.env.ROLLBAR_ENV, 'ROLLBAR_ENV');
6977
export const rollbarToken = getEnv(process.env.ROLLBAR_TOKEN, 'ROLLBAR_TOKEN');

src/utils/serviceUserProfiles.ts

+5-5
Original file line numberDiff line numberDiff line change
@@ -208,6 +208,11 @@ export const serializePartnersString = (partnerAccesses: PartnerAccessEntity[])
208208
return partnerAccesses?.map((pa) => pa.partner.name.toLowerCase()).join('; ') || '';
209209
};
210210

211+
const serializeCrispPartnerSegments = (partners: PartnerEntity[]) => {
212+
if (!partners.length) return ['public'];
213+
return partners.map((p) => p.name.toLowerCase());
214+
};
215+
211216
const serializeUserData = (user: UserEntity) => {
212217
const { name, signUpLanguage, contactPermission, serviceEmailsPermission } = user;
213218

@@ -356,8 +361,3 @@ const serializeCourseData = (courseUser: CourseUserEntity) => {
356361

357362
return { crispSchema, mailchimpSchema };
358363
};
359-
360-
const serializeCrispPartnerSegments = (partners: PartnerEntity[]) => {
361-
if (!partners.length) return ['public'];
362-
return partners.map((p) => p.name.toLowerCase());
363-
};

test/utils/mockedServices.ts

+2-6
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,6 @@ import {
3535
mockTherapySessionEntity,
3636
mockUserEntity,
3737
mockUserRecord,
38-
partnerAccessArray,
3938
} from './mockData';
4039
import { createQueryBuilderMock } from './mockUtils';
4140

@@ -209,11 +208,8 @@ export const mockPartnerAccessRepositoryMethods: PartialFuncReturn<
209208
findBy: async (arg) => {
210209
return [{ ...mockPartnerAccessEntity, ...(arg ? { ...arg } : {}) }] as PartnerAccessEntity[];
211210
},
212-
find: async (arg) => {
213-
return [
214-
...partnerAccessArray,
215-
{ ...mockPartnerAccessEntity, ...(arg ? { ...arg } : {}) },
216-
] as PartnerAccessEntity[];
211+
find: async () => {
212+
return [{ ...mockPartnerAccessEntity }] as PartnerAccessEntity[];
217213
},
218214
save: async (arg) => arg as PartnerAccessEntity,
219215
};

0 commit comments

Comments
 (0)