mirror of
https://github.com/serverless/serverless.git
synced 2025-12-08 19:46:03 +00:00
59 lines
1.8 KiB
JavaScript
59 lines
1.8 KiB
JavaScript
'use strict'
|
|
|
|
const expect = require('chai').expect
|
|
const Rollback = require('../../../../lib/plugins/rollback')
|
|
const Serverless = require('../../../../lib/serverless')
|
|
|
|
describe('Rollback', () => {
|
|
let rollback
|
|
let serverless
|
|
|
|
beforeEach(() => {
|
|
serverless = new Serverless({ commands: [], options: {} })
|
|
rollback = new Rollback(serverless)
|
|
})
|
|
|
|
describe('#constructor()', () => {
|
|
describe('when dealing with normal rollbacks', () => {
|
|
it('should have the command "rollback"', () => {
|
|
// eslint-disable-next-line no-unused-expressions
|
|
expect(rollback.commands.rollback).to.not.be.undefined
|
|
})
|
|
|
|
it('should have a lifecycle events initialize and rollback', () => {
|
|
expect(rollback.commands.rollback.lifecycleEvents).to.deep.equal([
|
|
'initialize',
|
|
'rollback',
|
|
])
|
|
})
|
|
|
|
it('should not have a required option timestamp', () => {
|
|
// eslint-disable-next-line no-unused-expressions
|
|
expect(rollback.commands.rollback.options.timestamp.required).to.be
|
|
.false
|
|
})
|
|
})
|
|
|
|
describe('when dealing with function rollbacks', () => {
|
|
it('should have the command "rollback function"', () => {
|
|
// eslint-disable-next-line no-unused-expressions
|
|
expect(rollback.commands.rollback.commands.function).to.not.be.undefined
|
|
})
|
|
|
|
it('should have a lifecycle event rollback', () => {
|
|
expect(
|
|
rollback.commands.rollback.commands.function.lifecycleEvents,
|
|
).to.deep.equal(['rollback'])
|
|
})
|
|
|
|
it('should have a required option function', () => {
|
|
// eslint-disable-next-line no-unused-expressions
|
|
expect(
|
|
rollback.commands.rollback.commands.function.options.function
|
|
.required,
|
|
).to.be.true
|
|
})
|
|
})
|
|
})
|
|
})
|