INNER CODE UNIT · JavaScript
testCaseContentsFromFiles
davidgf/serverless-plugin-canary-deployments · serverless-plugin-canary-deployments.test.js:25
const testCaseContentsFromFiles = _.reduce((acc, fileName) => {
const contents = JSON.parse(fs.readFileSync(path.resolve(fixturesPath, fileName)))
return _.set(testCaseFileType(fileName), contents, acc)
}, {})
const testCaseFilesByName = _.groupBy(getTestCaseName, testCaseFiles)
this.testCases = _.map(
(caseName) => {
const testCaseContents = testCaseContentsFromFiles(testCaseFilesByName[caseName])
return Object.assign(testCaseContents, { caseName })
},
Object.keys(testCaseFilesByName)
)
this.testCases.forEach(({ caseName, input, output, service }) => {
it(`generates the correct CloudFormation templates: test case ${caseName}`, () => {
const serverless = new Serverless(options)
Object.assign(serverless.service, service)
serverless.service.provider.compiledCloudFormationTemplate = input