@axway/amplify-central-github-extension
Version:
Create Amplify Central resources from Github API Management APIs
65 lines (57 loc) • 1.81 kB
text/typescript
import fs from 'fs-extra';
import { generate } from './generate';
const Service = require('../../service');
const utils = require('../../utils');
describe('resources: generate', () => {
let mockConsole: {
error: SinonSpy;
log: SinonSpy;
};
let readJsonSync: SinonStub;
let generateResources: SinonStub;
let createSupportResources: SinonStub;
let sandbox: SinonSandbox = sinon.createSandbox();
beforeEach(() => {
mockConsole = {
error: sandbox.spy(),
log: sandbox.spy(),
};
readJsonSync = sandbox.stub(fs, 'readJsonSync');
generateResources = sandbox.stub(Service.prototype, 'generateResources');
createSupportResources = sandbox.stub(utils, 'createSupportResources');
});
afterEach(() => {
sandbox.restore();
});
it('reads config, generates resources, logs success', async () => {
const testConfig = {
gitToken: 'token',
gitUserName: 'user',
repo: 'repo',
branch: 'branch',
environmentName: 'test'
}
readJsonSync.returns(testConfig);
generateResources.resolves();
createSupportResources.resolves();
await generate.action({ console: mockConsole as any })
generateResources.calledOnceWith(testConfig);
expect(mockConsole.log.calledTwice).to.be.true;
})
it('reads config, generates resources with output dir, logs success', async () => {
const testConfig = {
gitToken: 'token',
gitUserName: 'user',
repo: 'repo',
branch: 'branch',
environmentName: 'test',
outputDir: 'dir'
}
readJsonSync.returns(testConfig);
generateResources.resolves();
createSupportResources.resolves();
await generate.action({ console: mockConsole as any })
generateResources.calledOnceWith(testConfig);
expect(mockConsole.log.calledTwice).to.be.true;
})
})