Skip to content
This repository was archived by the owner on May 29, 2019. It is now read-only.

Commit 6734908

Browse files
committed
test(modal): fix custom matchers
- Trigger a test failure if resolved on rejected promise and rejected on resolved promise - Trigger a test failure if neither resolved or rejected when expected resolved/rejected promise Closes #6195
1 parent 515bcf2 commit 6734908

1 file changed

Lines changed: 18 additions & 2 deletions

File tree

‎src/modal/test/modal.spec.js‎

Lines changed: 18 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -161,6 +161,7 @@ describe('$uibModal', function() {
161161
toBeResolvedWith: function(util, customEqualityTesters) {
162162
return {
163163
compare: function(promise, expected) {
164+
var called = false;
164165
promise.then(function(result) {
165166
expect(result).toEqual(expected);
166167

@@ -169,10 +170,18 @@ describe('$uibModal', function() {
169170
} else {
170171
result.message = 'Expected "' + angular.mock.dump(result) + '" to be resolved with "' + expected + '".';
171172
}
173+
}, function(result) {
174+
fail('Expected "' + angular.mock.dump(result) + '" to be resolved with "' + expected + '".');
175+
})['finally'](function() {
176+
called = true;
172177
});
173178

174179
$rootScope.$digest();
175180

181+
if (!called) {
182+
fail('Expected "' + angular.mock.dump(result) + '" to be resolved with "' + expected + '".');
183+
}
184+
176185
return {pass: true};
177186
}
178187
};
@@ -181,9 +190,10 @@ describe('$uibModal', function() {
181190
return {
182191
compare: function(promise, expected) {
183192
var result = {};
193+
var called = false;
184194

185-
promise.then(function() {
186-
195+
promise.then(function(result) {
196+
fail('Expected "' + angular.mock.dump(result) + '" to be rejected with "' + expected + '".');
187197
}, function(result) {
188198
expect(result).toEqual(expected);
189199

@@ -192,10 +202,16 @@ describe('$uibModal', function() {
192202
} else {
193203
result.message = 'Expected "' + angular.mock.dump(result) + '" to be rejected with "' + expected + '".';
194204
}
205+
})['finally'](function() {
206+
called = true;
195207
});
196208

197209
$rootScope.$digest();
198210

211+
if (!called) {
212+
fail('Expected "' + angular.mock.dump(result) + '" to be rejected with "' + expected + '".');
213+
}
214+
199215
return {pass: true};
200216
}
201217
};

0 commit comments

Comments
 (0)