fintech-automation-test
Version:
Autonomous Test Automation
70 lines (65 loc) • 2.58 kB
JavaScript
const logger = require('../../../../logger');
const data = require('../../../test/api/testData/api_test_data.json');
Feature('API - GET Requests');
apiUrl = 'https://petstore.swagger.io/v2';
let queryParams = {};
function buildUrlWithQueryParams(baseUrl, queryParams = {}) {
const url = new URL(baseUrl, apiUrl);
Object.keys(queryParams).forEach((key) => {
if (Array.isArray(queryParams[key])) {
queryParams[key].forEach((value) =>
url.searchParams.append(key, value)
);
} else {
url.searchParams.append(key, queryParams[key]);
}
});
return url.pathname + url.search;
}
// Scenario('Verify GET pet_findByStatus', { retries: 1 }, async ({ I }) => {
// logger.info('Running GET pet_findByStatus');
// logger.info('Request Details:');
// logger.info(`Method: GET`);
// logger.info(`URL: /pet/findByStatus`);
//
// const resourceURL = '/pet/findByStatus';
//
// queryParams = data.get_requests.findPetsByStatus.query_params;
// logger.info(`Query Params: ${JSON.stringify(queryParams)}`);
//
// const fullUrl = buildUrlWithQueryParams(resourceURL, queryParams);
// logger.info(`Full URL: ${fullUrl}`);
// const response = await I.sendGetRequest(fullUrl);
//
// // Log the response status and details
// logger.info(`Response Status: ${response.status}`);
// logger.info(`Response Data: ${JSON.stringify(response.data)}`);
// I.seeResponseCodeIs(200);
// });
//
// Scenario.only('Verify GET pet', { retries: 1 }, async ({ I }) => {
// logger.info('Running GET pet');
// logger.info('Request Details:');
// logger.info(`Method: GET`);
// logger.info(`URL: /pet/{petId}`);
//
// const response = await I.sendGetRequest('/pet/'+ data.get.storeOrderById.orderId);
// logger.info(`Response Status: ${response.status}`);
// logger.info(`Response Data: ${JSON.stringify(response.data)}`);
// I.seeResponseCodeIs(200);
// I.seeResponseContainsJson({"id": 1} );
// });
//
// Scenario.only('Verify GET pet_findByStatus', { retries: 1 }, async ({ I }) => {
// logger.info('Running GET pet_findByStatus');
// logger.info('Request Details:');
// logger.info(`Method: GET`);
// logger.info(`URL: /pet/findByStatus`);
//
// const response = await I.sendGetRequest('/pet/findByStatus?status=' + data.get.petsByStatus.status);
// logger.info(`Response Status: ${response.status}`);
// logger.info(`Response Data: ${JSON.stringify(response.data)}`);
// I.seeResponseCodeIs(200);
// I.seeResponseContainsJson({ "name":"doggie" });
//
// });