serverless/tests/utils/index.test.js
2017-06-13 08:39:01 +02:00

48 lines
1.3 KiB
JavaScript

'use strict';
const BbPromise = require('bluebird');
const Serverless = require('../../lib/Serverless');
const expect = require('chai').expect;
const testUtils = require('./index');
describe('Test utils', () => {
describe('#getTmpDirPath()', () => {
it('should return a valid tmpDir path', () => {
const tmpDirPath = testUtils.getTmpDirPath();
expect(tmpDirPath).to.match(/.+.{16}/);
});
});
describe('#getTmpFilePath()', () => {
it('should return a valid tmpFile path', () => {
const fileName = 'foo.bar';
const tmpFilePath = testUtils.getTmpFilePath(fileName);
expect(tmpFilePath).to.match(/.+.{16}.{1}foo\.bar/);
});
});
describe('ServerlessPlugin', () => {
it('should create a new ServerlessPlugin mock instance', () => {
const ServerlessPlugin = testUtils.ServerlessPlugin;
const serverless = new Serverless();
const options = {
stage: 'production',
region: 'my-test-region',
};
const functionUnderTest = () => BbPromise.resolve('function under test');
const serverlessPlugin = new ServerlessPlugin(
serverless,
options,
functionUnderTest
);
expect(serverlessPlugin.serverless).to.be.instanceof(Serverless);
expect(serverlessPlugin.options).to.deep.equal(options);
});
});
});