Skip to content

Commit 836a26c

Browse files
auto test fixes
1 parent 939dd54 commit 836a26c

26 files changed

Lines changed: 1193 additions & 1017 deletions
Lines changed: 106 additions & 80 deletions
Original file line numberDiff line numberDiff line change
@@ -1,110 +1,136 @@
1-
import {test, expect} from '@playwright/test';
1+
import { expect, test } from "@playwright/test";
2+
import { time } from "node:console";
23
import { getRestApiGatewayBaseUrl } from "../../helpers/awsGatewayHelper";
3-
import { MI_ENDPOINT } from '../../constants/api_constants';
4-
import { createHeaderWithNoCorrelationId, createHeaderWithNoRequestId, createInvalidRequestHeaders, createValidRequestHeaders } from '../../constants/request_headers';
5-
import { miInvalidDateRequest, miInvalidRequest, miValidRequest } from './testCases/createMi';
6-
import { time } from 'console';
7-
import { error400InvalidDate, error400ResponseBody, error403ResponseBody, error404ResponseBody, requestId500Error } from '../../helpers/commonTypes';
4+
import { MI_ENDPOINT } from "../../constants/api_constants";
5+
import {
6+
createHeaderWithNoCorrelationId,
7+
createHeaderWithNoRequestId,
8+
createInvalidRequestHeaders,
9+
createValidRequestHeaders,
10+
} from "../../constants/request_headers";
11+
import {
12+
miInvalidDateRequest,
13+
miInvalidRequest,
14+
miValidRequest,
15+
} from "./testCases/createMi";
16+
import {
17+
error400InvalidDate,
18+
error400ResponseBody,
19+
error403ResponseBody,
20+
error404ResponseBody,
21+
requestId500Error,
22+
} from "../../helpers/commonTypes";
823

924
let baseUrl: string;
1025

1126
test.beforeAll(async () => {
1227
baseUrl = await getRestApiGatewayBaseUrl();
1328
});
1429

15-
test.describe('API Gateway Tests to Verify Mi Endpoint', () => {
16-
test(`Post /mi returns 200 when a valid request is passed`, async ({ request }) => {
17-
18-
const headers = createValidRequestHeaders();
19-
const body = miValidRequest();
20-
21-
const response = await request.post(`${baseUrl}/${MI_ENDPOINT}`, {
22-
headers: headers,
23-
data: body
24-
});
25-
26-
const responseBody = await response.json();
27-
expect(response.status()).toBe(201);
28-
expect(responseBody.data.attributes).toMatchObject({
29-
groupId: 'group123',
30-
lineItem: 'envelope-business-standard',
31-
quantity: 10,
32-
specificationId: 'Test-Spec-Id',
33-
stockRemaining: 100,
34-
timestamp: body.data.attributes.timestamp,
35-
});
36-
expect(responseBody.data.type).toBe('ManagementInformation');
37-
});
30+
test.describe("API Gateway Tests to Verify Mi Endpoint", () => {
31+
test(`Post /mi returns 200 when a valid request is passed`, async ({
32+
request,
33+
}) => {
34+
const headers = createValidRequestHeaders();
35+
const body = miValidRequest();
36+
37+
const response = await request.post(`${baseUrl}/${MI_ENDPOINT}`, {
38+
headers,
39+
data: body,
40+
});
3841

39-
test(`Post /mi returns 400 when a invalid request is passed`, async ({ request }) => {
40-
const headers = createValidRequestHeaders();
41-
const body = miInvalidRequest();
42+
const responseBody = await response.json();
43+
expect(response.status()).toBe(201);
44+
expect(responseBody.data.attributes).toMatchObject({
45+
groupId: "group123",
46+
lineItem: "envelope-business-standard",
47+
quantity: 10,
48+
specificationId: "Test-Spec-Id",
49+
stockRemaining: 100,
50+
timestamp: body.data.attributes.timestamp,
51+
});
52+
expect(responseBody.data.type).toBe("ManagementInformation");
53+
});
4254

43-
const response = await request.post(`${baseUrl}/${MI_ENDPOINT}`, {
44-
headers: headers,
45-
data: body
46-
});
55+
test(`Post /mi returns 400 when a invalid request is passed`, async ({
56+
request,
57+
}) => {
58+
const headers = createValidRequestHeaders();
59+
const body = miInvalidRequest();
4760

48-
const responseBody = await response.json();
49-
expect(response.status()).toBe(400);
50-
expect(responseBody).toMatchObject(error400ResponseBody());
61+
const response = await request.post(`${baseUrl}/${MI_ENDPOINT}`, {
62+
headers,
63+
data: body,
5164
});
5265

53-
test(`Post /mi returns 403 when a authentication header is not passed`, async ({ request }) => {
54-
const headers = createInvalidRequestHeaders();
55-
const body = miValidRequest();
66+
const responseBody = await response.json();
67+
expect(response.status()).toBe(400);
68+
expect(responseBody).toMatchObject(error400ResponseBody());
69+
});
5670

57-
const response = await request.post(`${baseUrl}/${MI_ENDPOINT}`, {
58-
headers: headers,
59-
data: body
60-
});
71+
test(`Post /mi returns 403 when a authentication header is not passed`, async ({
72+
request,
73+
}) => {
74+
const headers = createInvalidRequestHeaders();
75+
const body = miValidRequest();
6176

62-
const responseBody = await response.json();
63-
expect(response.status()).toBe(403);
64-
expect(responseBody).toMatchObject(error403ResponseBody());
77+
const response = await request.post(`${baseUrl}/${MI_ENDPOINT}`, {
78+
headers,
79+
data: body,
6580
});
6681

67-
test(`Post /mi returns 500 when a correlationId is not passed`, async ({ request }) => {
68-
const headers = createHeaderWithNoCorrelationId();
69-
const body = miValidRequest();
82+
const responseBody = await response.json();
83+
expect(response.status()).toBe(403);
84+
expect(responseBody).toMatchObject(error403ResponseBody());
85+
});
7086

71-
const response = await request.post(`${baseUrl}/${MI_ENDPOINT}`, {
72-
headers: headers,
73-
data: body
74-
});
87+
test(`Post /mi returns 500 when a correlationId is not passed`, async ({
88+
request,
89+
}) => {
90+
const headers = createHeaderWithNoCorrelationId();
91+
const body = miValidRequest();
7592

76-
const res = await response.json();
77-
expect(response.status()).toBe(500);
78-
expect(res.errors[0].detail).toBe("The request headers don't contain the APIM correlation id");
93+
const response = await request.post(`${baseUrl}/${MI_ENDPOINT}`, {
94+
headers,
95+
data: body,
7996
});
8097

81-
test(`Post /mi returns 500 when a x-request-id is not passed`, async ({ request }) => {
82-
const headers = createHeaderWithNoRequestId();
83-
const body = miValidRequest();
98+
const res = await response.json();
99+
expect(response.status()).toBe(500);
100+
expect(res.errors[0].detail).toBe(
101+
"The request headers don't contain the APIM correlation id",
102+
);
103+
});
84104

85-
const response = await request.post(`${baseUrl}/${MI_ENDPOINT}`, {
86-
headers: headers,
87-
data: body
88-
});
105+
test(`Post /mi returns 500 when a x-request-id is not passed`, async ({
106+
request,
107+
}) => {
108+
const headers = createHeaderWithNoRequestId();
109+
const body = miValidRequest();
89110

90-
const responseBody = await response.json();
91-
expect(response.status()).toBe(500);
92-
expect(responseBody).toMatchObject(requestId500Error());
111+
const response = await request.post(`${baseUrl}/${MI_ENDPOINT}`, {
112+
headers,
113+
data: body,
93114
});
94115

95-
test(`Post /mi returns 400 when a invalid Date is passed`, async ({ request }) => {
96-
const headers = createValidRequestHeaders();
97-
const body = miInvalidDateRequest();
116+
const responseBody = await response.json();
117+
expect(response.status()).toBe(500);
118+
expect(responseBody).toMatchObject(requestId500Error());
119+
});
98120

99-
const response = await request.post(`${baseUrl}/${MI_ENDPOINT}`, {
100-
headers: headers,
101-
data: body
102-
});
121+
test(`Post /mi returns 400 when a invalid Date is passed`, async ({
122+
request,
123+
}) => {
124+
const headers = createValidRequestHeaders();
125+
const body = miInvalidDateRequest();
103126

104-
const responseBody = await response.json();
105-
expect(response.status()).toBe(400);
106-
expect(responseBody).toMatchObject(error400InvalidDate());
127+
const response = await request.post(`${baseUrl}/${MI_ENDPOINT}`, {
128+
headers,
129+
data: body,
107130
});
108131

109-
132+
const responseBody = await response.json();
133+
expect(response.status()).toBe(400);
134+
expect(responseBody).toMatchObject(error400InvalidDate());
135+
});
110136
});
Lines changed: 61 additions & 53 deletions
Original file line numberDiff line numberDiff line change
@@ -1,71 +1,79 @@
1-
import { test, expect } from '@playwright/test';
2-
import { getRestApiGatewayBaseUrl } from '../../helpers/awsGatewayHelper';
3-
import { getLettersBySupplier } from '../../helpers/generate_fetch_testData';
4-
import { SUPPLIER_LETTERS, SUPPLIERID } from '../../constants/api_constants';
5-
import { createValidRequestHeaders } from '../../constants/request_headers';
6-
import { error404ResponseBody, error500ResponseBody } from '../../helpers/commonTypes';
1+
import { expect, test } from "@playwright/test";
2+
import { getRestApiGatewayBaseUrl } from "../../helpers/awsGatewayHelper";
3+
import { getLettersBySupplier } from "../../helpers/generate_fetch_testData";
4+
import { SUPPLIERID, SUPPLIER_LETTERS } from "../../constants/api_constants";
5+
import { createValidRequestHeaders } from "../../constants/request_headers";
6+
import {
7+
error404ResponseBody,
8+
error500ResponseBody,
9+
} from "../../helpers/commonTypes";
710

811
let baseUrl: string;
912

1013
test.beforeAll(async () => {
1114
baseUrl = await getRestApiGatewayBaseUrl();
1215
});
1316

14-
test.describe('API Gateway Tests to Verify Get Letter Status Endpoint', () => {
15-
test(`Get /letters/{id} returns 200 and valid response for a given id`, async ({ request }) => {
17+
test.describe("API Gateway Tests to Verify Get Letter Status Endpoint", () => {
18+
test(`Get /letters/{id} returns 200 and valid response for a given id`, async ({
19+
request,
20+
}) => {
21+
const letters = await getLettersBySupplier(SUPPLIERID, "PENDING", 1);
1622

17-
const letters = await getLettersBySupplier(SUPPLIERID, 'PENDING', 1);
23+
if (!letters?.length) {
24+
test.fail(true, `No PENDING letters found for supplier ${SUPPLIERID}`);
25+
return;
26+
}
27+
const letter = letters[0];
28+
const headers = createValidRequestHeaders();
29+
const response = await request.get(
30+
`${baseUrl}/${SUPPLIER_LETTERS}/${letter.id}`,
31+
{
32+
headers,
33+
},
34+
);
1835

19-
if (!letters?.length) {
20-
test.fail(true, `No PENDING letters found for supplier ${SUPPLIERID}`);
21-
return;
22-
}
23-
const letter = letters[0];
24-
const headers = createValidRequestHeaders();
25-
const response = await request.get(`${baseUrl}/${SUPPLIER_LETTERS}/${letter.id}`, {
26-
headers: headers,
27-
});
36+
const responseBody = await response.json();
2837

29-
const responseBody = await response.json();
30-
31-
expect(response.status()).toBe(200);
32-
expect(responseBody).toMatchObject({
33-
data:{
34-
attributes: {
35-
status: 'PENDING',
36-
specificationId: letter.specificationId,
37-
groupId: letter.groupId,
38-
},
39-
id: letter.id,
40-
type: 'Letter'
41-
}
42-
});
38+
expect(response.status()).toBe(200);
39+
expect(responseBody).toMatchObject({
40+
data: {
41+
attributes: {
42+
status: "PENDING",
43+
specificationId: letter.specificationId,
44+
groupId: letter.groupId,
45+
},
46+
id: letter.id,
47+
type: "Letter",
48+
},
4349
});
50+
});
4451

45-
test(`Get /letters/{id} returns 404 if no resource is found for id`, async ({ request }) =>
46-
{
47-
const id = '11';
48-
const headers = createValidRequestHeaders();
49-
const response = await request.get(`${baseUrl}/${SUPPLIER_LETTERS}/${id}`, {
50-
headers: headers,
51-
});
52-
53-
const responseBody = await response.json();
54-
expect(response.status()).toBe(404);
55-
expect(responseBody).toMatchObject(error404ResponseBody());
52+
test(`Get /letters/{id} returns 404 if no resource is found for id`, async ({
53+
request,
54+
}) => {
55+
const id = "11";
56+
const headers = createValidRequestHeaders();
57+
const response = await request.get(`${baseUrl}/${SUPPLIER_LETTERS}/${id}`, {
58+
headers,
5659
});
5760

58-
test(`Get /letters/{id} returns 500 if letter is not found for supplierId ${SUPPLIERID}`, async ({ request }) =>
59-
{
60-
const id = 'non-existing-id-12345';
61-
const headers = createValidRequestHeaders();
62-
const response = await request.get(`${baseUrl}/${SUPPLIER_LETTERS}/${id}`, {
63-
headers: headers,
64-
});
61+
const responseBody = await response.json();
62+
expect(response.status()).toBe(404);
63+
expect(responseBody).toMatchObject(error404ResponseBody());
64+
});
6565

66-
const responseBody = await response.json();
67-
expect(response.status()).toBe(500);
68-
expect(responseBody).toMatchObject(error500ResponseBody(id));
66+
test(`Get /letters/{id} returns 500 if letter is not found for supplierId ${SUPPLIERID}`, async ({
67+
request,
68+
}) => {
69+
const id = "non-existing-id-12345";
70+
const headers = createValidRequestHeaders();
71+
const response = await request.get(`${baseUrl}/${SUPPLIER_LETTERS}/${id}`, {
72+
headers,
6973
});
7074

75+
const responseBody = await response.json();
76+
expect(response.status()).toBe(500);
77+
expect(responseBody).toMatchObject(error500ResponseBody(id));
78+
});
7179
});

0 commit comments

Comments
 (0)