it('should be disabled with version 1 and protected false', () => {
const selection = new CdTableSelection([{ name: 'someName', is_protected: false }]);
- const disableDesc = actions.getCloneDisableDesc(selection, ['layering']);
+ const disableDesc = actions.getCloneDisableDesc(selection);
expect(disableDesc).toBe('Snapshot must be protected in order to clone.');
});
])('should be enabled with version %d and protected %s', (version, is_protected) => {
actions.cloneFormatVersion = version;
const selection = new CdTableSelection([{ name: 'someName', is_protected: is_protected }]);
- const disableDesc = actions.getCloneDisableDesc(selection, ['layering']);
+ const disableDesc = actions.getCloneDisableDesc(selection);
expect(disableDesc).toBe(false);
});
});
+
+ describe('protect button disable state', () => {
+ let actions: RbdSnapshotActionsModel;
+
+ beforeEach(() => {
+ fixture.detectChanges();
+ const rbdService = TestBed.inject(RbdService);
+ const actionLabelsI18n = TestBed.inject(ActionLabelsI18n);
+ actions = new RbdSnapshotActionsModel(actionLabelsI18n, [], rbdService);
+ });
+
+ it('should be disabled if layering not supported', () => {
+ const selection = new CdTableSelection([{ name: 'someName', is_protected: false }]);
+ const disableDesc = actions.getProtectDisableDesc(selection, ['deep-flatten', 'fast-diff']);
+ expect(disableDesc).toBe('The layering feature needs to be enabled on parent image');
+ });
+ });
});