|
@@ -187,5 +187,82 @@ describe('App.Service', function () {
|
|
|
});
|
|
|
});
|
|
|
|
|
|
+ describe('#allowToDelete', function () {
|
|
|
+
|
|
|
+ beforeEach(function () {
|
|
|
+ this.stub = sinon.stub(service, 'get');
|
|
|
+ });
|
|
|
+
|
|
|
+ afterEach(function () {
|
|
|
+ this.stub.restore();
|
|
|
+ });
|
|
|
+
|
|
|
+ Em.A([
|
|
|
+ {
|
|
|
+ m: 'may be deleted (1)',
|
|
|
+ slaveComponents: [{allowToDelete: true}],
|
|
|
+ masterComponents: [{allowToDelete: true}],
|
|
|
+ workStatus: 'INIT',
|
|
|
+ e: true
|
|
|
+ },
|
|
|
+ {
|
|
|
+ m: 'may be deleted (2)',
|
|
|
+ slaveComponents: [{allowToDelete: true}],
|
|
|
+ masterComponents: [{allowToDelete: true}],
|
|
|
+ workStatus: 'INSTALL_FAILED',
|
|
|
+ e: true
|
|
|
+ },
|
|
|
+ {
|
|
|
+ m: 'may be deleted (3)',
|
|
|
+ slaveComponents: [{allowToDelete: true}],
|
|
|
+ masterComponents: [{allowToDelete: true}],
|
|
|
+ workStatus: 'INSTALLED',
|
|
|
+ e: true
|
|
|
+ },
|
|
|
+ {
|
|
|
+ m: 'may be deleted (4)',
|
|
|
+ slaveComponents: [{allowToDelete: true}],
|
|
|
+ masterComponents: [{allowToDelete: true}],
|
|
|
+ workStatus: 'UNKNOWN',
|
|
|
+ e: true
|
|
|
+ },
|
|
|
+ {
|
|
|
+ m: 'deleting is not allowed (1)',
|
|
|
+ slaveComponents: [{allowToDelete: false}],
|
|
|
+ masterComponents: [{allowToDelete: true}],
|
|
|
+ workStatus: 'UNKNOWN',
|
|
|
+ e: false
|
|
|
+ },
|
|
|
+ {
|
|
|
+ m: 'deleting is not allowed (2)',
|
|
|
+ slaveComponents: [{allowToDelete: false}],
|
|
|
+ masterComponents: [{allowToDelete: false}],
|
|
|
+ workStatus: 'UNKNOWN',
|
|
|
+ e: false
|
|
|
+ },
|
|
|
+ {
|
|
|
+ m: 'deleting is not allowed (3)',
|
|
|
+ slaveComponents: [{allowToDelete: true}],
|
|
|
+ masterComponents: [{allowToDelete: false}],
|
|
|
+ workStatus: 'UNKNOWN',
|
|
|
+ e: false
|
|
|
+ },
|
|
|
+ {
|
|
|
+ m: 'deleting is not allowed (4)',
|
|
|
+ slaveComponents: [{allowToDelete: true}],
|
|
|
+ masterComponents: [{allowToDelete: true}],
|
|
|
+ workStatus: 'STARTED',
|
|
|
+ e: false
|
|
|
+ }
|
|
|
+ ]).forEach(function (test) {
|
|
|
+ it(test.m, function () {
|
|
|
+ this.stub.withArgs('workStatus').returns(test.workStatus);
|
|
|
+ this.stub.withArgs('slaveComponents').returns(test.slaveComponents);
|
|
|
+ this.stub.withArgs('masterComponents').returns(test.masterComponents);
|
|
|
+ expect(Em.get(service, 'allowToDelete')).to.be.equal(test.e);
|
|
|
+ });
|
|
|
+ });
|
|
|
+
|
|
|
+ });
|
|
|
|
|
|
});
|