Skip to content

Commit af817c3

Browse files
committed
rm update to status
1 parent 10affd9 commit af817c3

File tree

5 files changed

+20
-58
lines changed

5 files changed

+20
-58
lines changed

lambdas/sftp-letters/src/__tests__/app/send.test.ts

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -235,12 +235,11 @@ describe('App', () => {
235235
`${baseUploadDir}/${sftpEnvironment}/batches/${templateId}/${batchId}_MANIFEST.csv`
236236
);
237237

238-
expect(
239-
mocks.templateRepository.updateToNotYetSubmitted
240-
).toHaveBeenCalledTimes(1);
241-
expect(
242-
mocks.templateRepository.updateToNotYetSubmitted
243-
).toHaveBeenCalledWith(owner, templateId);
238+
expect(mocks.templateRepository.clearLock).toHaveBeenCalledTimes(1);
239+
expect(mocks.templateRepository.clearLock).toHaveBeenCalledWith(
240+
owner,
241+
templateId
242+
);
244243
});
245244

246245
test('throws if proof request event is invalid JSON', async () => {
@@ -348,12 +347,10 @@ describe('App', () => {
348347
expect(mocks.sftpClient.exists).not.toHaveBeenCalled();
349348
expect(mocks.sftpClient.mkdir).not.toHaveBeenCalled();
350349
expect(mocks.sftpClient.put).not.toHaveBeenCalled();
351-
expect(
352-
mocks.templateRepository.updateToNotYetSubmitted
353-
).not.toHaveBeenCalled();
350+
expect(mocks.templateRepository.clearLock).not.toHaveBeenCalled();
354351
});
355352

356-
test('exits early and does not send if the manifest is already in the SFTP server', async () => {
353+
test('exits early and does not send if the manifest is already in the SFTP server, clears existing lock', async () => {
357354
const { app, mocks, logMessages } = setup();
358355

359356
const personalisationFields = ['pdsField'];
@@ -433,11 +430,14 @@ describe('App', () => {
433430
`${baseUploadDir}/${sftpEnvironment}/batches/${templateId}/${batchId}_MANIFEST.csv`
434431
);
435432

433+
expect(mocks.templateRepository.clearLock).toHaveBeenCalledTimes(1);
434+
expect(mocks.templateRepository.clearLock).toHaveBeenCalledWith(
435+
owner,
436+
templateId
437+
);
438+
436439
expect(mocks.sftpClient.mkdir).not.toHaveBeenCalled();
437440
expect(mocks.sftpClient.put).not.toHaveBeenCalled();
438-
expect(
439-
mocks.templateRepository.updateToNotYetSubmitted
440-
).not.toHaveBeenCalled();
441441
});
442442

443443
test('logs handled errors', async () => {

lambdas/sftp-letters/src/__tests__/infra/template-repository.test.ts

Lines changed: 2 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -25,35 +25,6 @@ function setup() {
2525
}
2626

2727
describe('TemplateRepository', () => {
28-
describe('updateToNotYetSubmitted', () => {
29-
test('send command to update to NOT_YET_SUBMITTED, removes lock', async () => {
30-
const { mocks, templateRepository } = setup();
31-
32-
mocks.client.on(UpdateCommand).resolvesOnce({});
33-
34-
await templateRepository.updateToNotYetSubmitted(owner, templateId);
35-
36-
expect(mocks.client).toHaveReceivedCommandWith(UpdateCommand, {
37-
ExpressionAttributeNames: {
38-
'#templateStatus': 'templateStatus',
39-
'#updatedAt': 'updatedAt',
40-
'#lockTime': 'lockTime',
41-
},
42-
ExpressionAttributeValues: {
43-
':templateStatus': 'NOT_YET_SUBMITTED',
44-
':updatedAt': expect.stringMatching(isoDateRegExp),
45-
},
46-
Key: {
47-
id: templateId,
48-
owner,
49-
},
50-
TableName: templatesTableName,
51-
UpdateExpression:
52-
'SET #templateStatus = :templateStatus, #updatedAt = :updatedAt REMOVE #lockTime',
53-
});
54-
});
55-
});
56-
5728
describe('acquireLock', () => {
5829
test('returns true when database update succeeds', async () => {
5930
const { mocks, templateRepository } = setup();
@@ -111,13 +82,13 @@ describe('TemplateRepository', () => {
11182
});
11283
});
11384

114-
describe('cancelLock', () => {
85+
describe('clearLock', () => {
11586
test('removes lock attribute', async () => {
11687
const { mocks, templateRepository } = setup();
11788

11889
mocks.client.on(UpdateCommand).resolvesOnce({});
11990

120-
await templateRepository.cancelLock(owner, templateId);
91+
await templateRepository.clearLock(owner, templateId);
12192
expect(mocks.client).toHaveReceivedCommandWith(UpdateCommand, {
12293
ExpressionAttributeNames: {
12394
'#lockTime': 'lockTime',

lambdas/sftp-letters/src/app/send.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -75,7 +75,7 @@ export class App {
7575
templateLogger.warn(
7676
'Manifest already exists, assuming duplicate event'
7777
);
78-
await this.templateRepository.cancelLock(owner, templateId);
78+
await this.templateRepository.clearLock(owner, templateId);
7979
return 'already-sent';
8080
}
8181

@@ -95,9 +95,9 @@ export class App {
9595

9696
await sftp.put(files.manifest, dest.manifest);
9797

98-
templateLogger.info('Updating template');
98+
templateLogger.info('Removing lock');
9999

100-
await this.templateRepository.updateToNotYetSubmitted(owner, templateId);
100+
await this.templateRepository.clearLock(owner, templateId);
101101

102102
templateLogger.info('Sent proofing request');
103103

lambdas/sftp-letters/src/infra/template-repository.ts

Lines changed: 1 addition & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -29,20 +29,11 @@ export class TemplateRepository {
2929
return true;
3030
}
3131

32-
async cancelLock(owner: string, id: string) {
32+
async clearLock(owner: string, id: string) {
3333
const update = new TemplateUpdateBuilder(this.templatesTableName, owner, id)
3434
.removeLockTime()
3535
.build();
3636

3737
return await this.client.send(new UpdateCommand(update));
3838
}
39-
40-
async updateToNotYetSubmitted(owner: string, id: string) {
41-
const update = new TemplateUpdateBuilder(this.templatesTableName, owner, id)
42-
.setStatus('NOT_YET_SUBMITTED')
43-
.removeLockTime()
44-
.build();
45-
46-
return await this.client.send(new UpdateCommand(update));
47-
}
4839
}

tests/test-team/template-mgmt-e2e-tests/template-mgmt-sftp-send-proof.e2e.spec.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -74,7 +74,7 @@ test.describe('SFTP proof send', () => {
7474
'send-proof-letter',
7575
'PASSED'
7676
),
77-
// fields TBD
77+
// The status PENDING_PROOF_REQUEST doesn't exist yet
7878
// the template's 'personalisationFields' has no effect on the test
7979
// the sender lambda does not read the template
8080
templateStatus: 'PENDING_PROOF_REQUEST',

0 commit comments

Comments
 (0)