Skip to content

Commit 278d88e

Browse files
committed
CCM-8585: feature flag on createLetter endpoint
1 parent f18b124 commit 278d88e

File tree

2 files changed

+36
-0
lines changed

2 files changed

+36
-0
lines changed

lambdas/backend-api/src/__tests__/templates/app/template-client.test.ts

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -750,6 +750,38 @@ describe('templateClient', () => {
750750
'PENDING_UPLOAD'
751751
);
752752
});
753+
754+
test('should return a failure result when letters feature flag is not enabled', async () => {
755+
const { mocks } = setup();
756+
757+
const client = new TemplateClient(
758+
false,
759+
mocks.templateRepository,
760+
mocks.letterUploadRepository,
761+
mocks.generateVersionId
762+
);
763+
764+
const data: CreateTemplate = {
765+
templateType: 'LETTER',
766+
name: 'name',
767+
language: 'en',
768+
letterType: 'x0',
769+
};
770+
771+
const pdf = new File(['pdf'], 'template.pdf', {
772+
type: 'application/pdf',
773+
});
774+
775+
const result = await client.createLetterTemplate(data, owner, pdf);
776+
777+
expect(result).toEqual({
778+
code: 400,
779+
message: 'request failed validation',
780+
});
781+
782+
expect(mocks.templateRepository.create).not.toHaveBeenCalled();
783+
expect(mocks.letterUploadRepository.upload).not.toHaveBeenCalled();
784+
});
753785
});
754786

755787
describe('updateTemplate', () => {

lambdas/backend-api/src/templates/app/template-client.ts

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -84,6 +84,10 @@ export class TemplateClient implements ITemplateClient {
8484
template,
8585
});
8686

87+
if (!this.enableLetters) {
88+
return failure(ErrorCase.VALIDATION_FAILED, 'Request failed validation');
89+
}
90+
8791
const templateValidationResult = await validate(
8892
$CreateLetterTemplate,
8993
template

0 commit comments

Comments
 (0)