Files
developer.sailpoint.com/backend/__tests__/unit/handlers/get-all-items.test.mjs
2023-12-05 13:07:06 -06:00

44 lines
1.4 KiB
JavaScript

// Import getAllItemsHandler function from get-all-items.mjs
import { getAllItemsHandler } from '../../../src/handlers/get-all-items.mjs';
// Import dynamodb from aws-sdk
import { DynamoDBDocumentClient, ScanCommand } from '@aws-sdk/lib-dynamodb';
import { mockClient } from "aws-sdk-client-mock";
// This includes all tests for getAllItemsHandler()
describe('Test getAllItemsHandler', () => {
const ddbMock = mockClient(DynamoDBDocumentClient);
beforeEach(() => {
ddbMock.reset();
});
it('should return ids', async () => {
const items = [{ id: 'id1' }, { id: 'id2' }];
// Return the specified value whenever the spied scan function is called
ddbMock.on(ScanCommand).resolves({
Items: items,
});
const event = {
httpMethod: 'GET'
};
// Invoke helloFromLambdaHandler()
const result = await getAllItemsHandler(event);
const expectedResult = {
statusCode: 200,
headers: {
"Access-Control-Allow-Headers" : "Content-Type",
"Access-Control-Allow-Origin": "*",
"Access-Control-Allow-Methods": "OPTIONS,POST,GET"
},
body: JSON.stringify(items)
};
// Compare the result with the expected result
expect(result).toEqual(expectedResult);
});
});