summaryrefslogtreecommitdiffstats
path: root/3rd_party/static/testapi-ui/assets/lib/angular-confirm-modal/test/unit
diff options
context:
space:
mode:
authorxudan <xudan16@huawei.com>2018-07-06 05:16:40 -0400
committerxudan <xudan16@huawei.com>2018-07-06 05:21:42 -0400
commitb3e40f026d655501bfa581452c447784604ecb05 (patch)
tree406f8bfc1abc1b33f98153d03abd34ef7b0e2fe9 /3rd_party/static/testapi-ui/assets/lib/angular-confirm-modal/test/unit
parentb1b0ea32d1a296c7d055c5391261dcad6be48c63 (diff)
Move all web portal code to the new repo dovetail-webportal
This is only the first step to simply copy the file here. There still need some more work to make sure all work well. All the changes will be submitted with other patches to make it easily to review. JIRA: DOVETAIL-671 Change-Id: I64d32a9df562184166b6199e2719f298687d1a0a Signed-off-by: xudan <xudan16@huawei.com>
Diffstat (limited to '3rd_party/static/testapi-ui/assets/lib/angular-confirm-modal/test/unit')
-rw-r--r--3rd_party/static/testapi-ui/assets/lib/angular-confirm-modal/test/unit/confirmSpec.js244
1 files changed, 244 insertions, 0 deletions
diff --git a/3rd_party/static/testapi-ui/assets/lib/angular-confirm-modal/test/unit/confirmSpec.js b/3rd_party/static/testapi-ui/assets/lib/angular-confirm-modal/test/unit/confirmSpec.js
new file mode 100644
index 0000000..8434de4
--- /dev/null
+++ b/3rd_party/static/testapi-ui/assets/lib/angular-confirm-modal/test/unit/confirmSpec.js
@@ -0,0 +1,244 @@
+describe('angular-confirm', function() {
+
+ var $rootScope, $uibModal;
+
+ beforeEach(angular.mock.module('angular-confirm', function ($provide) {
+
+ $provide.decorator('$uibModal', function($delegate) {
+ $uibModal = {
+ open: jasmine.createSpy('$uibModal.open', function(settings) {
+ return {result: settings};
+ })
+ };
+ return $uibModal;
+ });
+
+ $provide.decorator('$confirm', function($delegate) {
+ return jasmine.createSpy('$confirm', $delegate);
+ });
+
+ }));
+
+ beforeEach(angular.mock.inject(function (_$rootScope_) {
+ $rootScope = _$rootScope_;
+ }));
+
+ describe('ConfirmModalController', function() {
+ var $scope, controller, data = {testVal: 1}, $uibModalInstance;
+
+ beforeEach(angular.mock.inject(function($controller) {
+ $scope = $rootScope.$new();
+ $uibModalInstance = {
+ close: jasmine.createSpy('$uibModalInstance.close'),
+ dismiss: jasmine.createSpy('$uibModalInstance.dismiss'),
+ result: {
+ then: jasmine.createSpy('$uibModalInstance.result.then')
+ }
+ };
+ controller = $controller('ConfirmModalController', {"$scope": $scope, "$uibModalInstance": $uibModalInstance, "data": data});
+ }));
+
+ it("should copy the data, not use it as a reference", function() {
+ data.testVal = 2;
+ expect($scope.data.testVal).toEqual(1);
+ });
+
+ it("should call close when $scope.ok is invoked", function() {
+ $scope.ok();
+ expect($uibModalInstance.close).toHaveBeenCalled();
+ });
+
+ it("should call dismiss when $scope.cancel is invoked", function() {
+ $scope.cancel();
+ expect($uibModalInstance.dismiss).toHaveBeenCalledWith('cancel');
+ });
+
+ });
+
+ describe('$confirm factory', function() {
+
+ var $confirm, $confirmModalDefaults;
+
+ beforeEach(angular.mock.inject(function(_$confirm_, _$confirmModalDefaults_) {
+ $confirm = _$confirm_;
+ $confirm.and.callThrough();
+ $confirmModalDefaults = _$confirmModalDefaults_;
+ $uibModal.open.and.callThrough();
+ }));
+
+ it("should call $uibModal.open", function() {
+ $confirm();
+ expect($uibModal.open).toHaveBeenCalled();
+ });
+
+ it("should override the defaults with settings passed in", function() {
+ var settings = $confirm({}, {"template": "hello"});
+ expect(settings.template).toEqual("hello");
+ });
+
+ it("should not change the defaults", function() {
+ var settings = $confirm({}, {"templateUrl": "hello"});
+ expect(settings.templateUrl).toEqual("hello");
+ expect(settings.template).not.toBeDefined();
+ expect($confirmModalDefaults.template).toBeDefined();
+ expect($confirmModalDefaults.templateUrl).not.toBeDefined();
+ });
+
+ it("should override the default labels with the data passed in", function() {
+ var settings = $confirm({title: "Title"});
+ var data = settings.resolve.data();
+ expect(data.title).toEqual("Title");
+ expect(data.ok).toEqual('OK');
+ });
+
+ it("should remove template if templateUrl is passed in", function() {
+ var settings = $confirm({}, {templateUrl: "abc.txt"});
+ expect(settings.template).not.toBeDefined();
+ });
+
+ });
+
+ describe('confirm directive', function() {
+ var $scope, element, $confirm, data;
+
+ beforeEach(angular.mock.inject(function (_$confirm_, $compile) {
+ $confirm = _$confirm_;
+
+ $confirm.and.callFake(function(d) {
+ data = d;
+ return {then: function() {}}
+ });
+
+ $scope = $rootScope.$new();
+ $scope.click = jasmine.createSpy('$scope.click');
+ }));
+
+ describe('resolve properties in title', function() {
+ beforeEach(angular.mock.inject(function($compile) {
+ $scope.name = 'Joe';
+ element = angular.element('<button type="button" ng-click="click()" confirm="Are you sure, {{name}}?">Delete</button>');
+ $compile(element)($scope);
+ $scope.$digest();
+ }));
+
+ it("should resolve the name to the text property", function() {
+ element.triggerHandler('click');
+ expect(data.text).toEqual('Are you sure, Joe?');
+ });
+ });
+
+ describe('without confirmIf', function() {
+
+ beforeEach(angular.mock.inject(function($compile) {
+ element = angular.element('<button type="button" ng-click="click()" confirm="Are you sure?">Delete</button>');
+ $compile(element)($scope);
+ $scope.$digest();
+ }));
+
+ it("should call confirm on click and not call the function", function() {
+ element.triggerHandler('click');
+ expect($scope.click).not.toHaveBeenCalled();
+ expect($confirm).toHaveBeenCalled();
+ });
+
+ });
+
+ describe('with confirmIf option', function() {
+
+ beforeEach(angular.mock.inject(function($compile) {
+ element = angular.element('<button type="button" ng-click="click()" confirm="Are you sure?" confirm-if="truthy">Delete</button>');
+ $compile(element)($scope);
+ $scope.$digest();
+ }));
+
+ it("should call confirm on click and not call the function", function() {
+ $scope.truthy = true;
+ $scope.$apply();
+ element.triggerHandler('click');
+ expect($scope.click).not.toHaveBeenCalled();
+ expect($confirm).toHaveBeenCalled();
+ });
+
+ it("should call the function", function() {
+ $scope.truthy = false;
+ $scope.$apply();
+ element.triggerHandler('click');
+ expect($scope.click).toHaveBeenCalled();
+ expect($confirm).not.toHaveBeenCalled();
+ });
+
+ });
+
+ describe('with confirmTitle option', function() {
+ beforeEach(angular.mock.inject(function($compile) {
+ $scope.name = 'Joe';
+ element = angular.element('<button type="button" ng-click="click()" confirm="Are you sure?" confirm-title="Hello, {{name}}!">Delete</button>');
+ $compile(element)($scope);
+ $scope.$digest();
+ }));
+
+ it("should resolve the confirmTitle to the title property", function() {
+ element.triggerHandler('click');
+ expect(data.title).toEqual('Hello, Joe!');
+ });
+
+ });
+
+ describe('with confirmOk option', function() {
+ beforeEach(angular.mock.inject(function($compile) {
+ $scope.name = 'Joe';
+ element = angular.element('<button type="button" ng-click="click()" confirm="Are you sure?" confirm-ok="Okie Dokie, {{name}}!">Delete</button>');
+ $compile(element)($scope);
+ $scope.$digest();
+ }));
+
+ it("should resolve the confirmTitle to the title property", function() {
+ element.triggerHandler('click');
+ expect(data.ok).toEqual('Okie Dokie, Joe!');
+ });
+ });
+
+ describe('with confirmCancel option', function() {
+ beforeEach(angular.mock.inject(function($compile) {
+ $scope.name = 'Joe';
+ element = angular.element('<button type="button" ng-click="click()" confirm="Are you sure?" confirm-cancel="No Way, {{name}}!">Delete</button>');
+ $compile(element)($scope);
+ $scope.$digest();
+ }));
+
+ it("should resolve the confirmTitle to the title property", function() {
+ element.triggerHandler('click');
+ expect(data.cancel).toEqual('No Way, Joe!');
+ });
+ });
+
+ describe('with confirmSettings option', function() {
+ beforeEach(angular.mock.inject(function($compile) {
+ $scope.settings = {name: 'Joe'};
+ element = angular.element('<button type="button" ng-click="click()" confirm="Are you sure?" confirm-settings="settings">Delete</button>');
+ $compile(element)($scope);
+ $scope.$digest();
+ }));
+
+ it("should pass the settings to $confirm", function() {
+ element.triggerHandler('click');
+ expect($confirm).toHaveBeenCalledWith({text: "Are you sure?"}, $scope.settings)
+ });
+ });
+
+ describe('with confirmSettings option direct entry', function() {
+ beforeEach(angular.mock.inject(function($compile) {
+ element = angular.element('<button type="button" ng-click="click()" confirm="Are you sure?" confirm-settings="{name: \'Joe\'}">Delete</button>');
+ $compile(element)($scope);
+ $scope.$digest();
+ }));
+
+ it("should pass the settings to $confirm", function() {
+ element.triggerHandler('click');
+ expect($confirm).toHaveBeenCalledWith({text: "Are you sure?"}, {name: "Joe"})
+ });
+ });
+
+ });
+
+}); \ No newline at end of file