Skip to content

Commit 9e235ed

Browse files
Fix patch tests
1 parent b4455c6 commit 9e235ed

2 files changed

Lines changed: 18 additions & 22 deletions

File tree

tests/component-tests/apiGateway-tests/update-letter-status.spec.ts

Lines changed: 13 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,6 @@ import {
1010
} from "./testCases/update-letter-status";
1111
import {
1212
createTestData,
13-
deleteLettersBySupplier,
1413
getLettersBySupplier,
1514
} from "../../helpers/generate-fetch-test-data";
1615
import { createInvalidRequestHeaders } from "../../constants/request-headers";
@@ -20,22 +19,27 @@ import {
2019
} from "../../helpers/common-types";
2120

2221
let baseUrl: string;
22+
let letters: Awaited<ReturnType<typeof getLettersBySupplier>>;
2323

2424
test.beforeAll(async () => {
2525
baseUrl = await getRestApiGatewayBaseUrl();
2626
});
2727

2828
test.describe("API Gateway Tests to Verify Patch Status Endpoint", () => {
29+
test.beforeAll(async () => {
30+
await createTestData(SUPPLIERID, 2);
31+
letters = await getLettersBySupplier(SUPPLIERID, "PENDING", 2);
32+
33+
if (!letters || letters.length < 2) {
34+
throw new Error(
35+
`Expected 2 PENDING letters for supplier ${SUPPLIERID}, got ${letters?.length ?? 0}.`,
36+
);
37+
}
38+
});
39+
2940
test(`Patch /letters returns 202 and status is updated to ACCEPTED`, async ({
3041
request,
3142
}) => {
32-
await createTestData(SUPPLIERID);
33-
const letters = await getLettersBySupplier(SUPPLIERID, "PENDING", 1);
34-
35-
if (!letters?.length) {
36-
test.fail(true, `No PENDING letters found for supplier ${SUPPLIERID}`);
37-
return;
38-
}
3943
const letter = letters[0];
4044
const headers = patchRequestHeaders();
4145
const body = patchValidRequestBody(letter.id, "ACCEPTED");
@@ -49,21 +53,12 @@ test.describe("API Gateway Tests to Verify Patch Status Endpoint", () => {
4953
);
5054

5155
expect(response.status()).toBe(202);
52-
53-
await deleteLettersBySupplier(letter.id);
5456
});
5557

5658
test(`Patch /letters returns 202 and status is updated to REJECTED`, async ({
5759
request,
5860
}) => {
59-
await createTestData(SUPPLIERID);
60-
const letters = await getLettersBySupplier(SUPPLIERID, "PENDING", 1);
61-
62-
if (!letters?.length) {
63-
test.fail(true, `No PENDING letters found for supplier ${SUPPLIERID}`);
64-
return;
65-
}
66-
const letter = letters[0];
61+
const letter = letters[1];
6762
const headers = patchRequestHeaders();
6863
const body = patchFailureRequestBody(letter.id, "REJECTED");
6964

@@ -76,8 +71,6 @@ test.describe("API Gateway Tests to Verify Patch Status Endpoint", () => {
7671
);
7772

7873
expect(response.status()).toBe(202);
79-
80-
await deleteLettersBySupplier(letter.id);
8174
});
8275

8376
test(`Patch /letters returns 400 if request Body is invalid`, async ({

tests/helpers/generate-fetch-test-data.ts

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -74,11 +74,14 @@ export const getLettersBySupplier = async (
7474
return Items as SupplierApiLetters[];
7575
};
7676

77-
export const deleteLettersBySupplier = async (id: string) => {
77+
export const deleteLettersBySupplier = async (
78+
supplierId: string,
79+
id: string,
80+
) => {
7881
const resp = await docClient.send(
7982
new DeleteCommand({
8083
TableName: LETTERSTABLENAME,
81-
Key: { supplierId: SUPPLIERID, id },
84+
Key: { id, supplierId },
8285
ReturnValues: "ALL_OLD",
8386
}),
8487
);

0 commit comments

Comments
 (0)