The old style of merging all of a function's variable declarations into a single statement made some sense back in the days of var, but there's no reason to keep doing it now that we use const and let.
43 lines
1.4 KiB
JavaScript
43 lines
1.4 KiB
JavaScript
describe('toBeResolved', function() {
|
|
it('passes if the actual is resolved', function() {
|
|
const matchersUtil = new privateUnderTest.MatchersUtil();
|
|
const matcher = privateUnderTest.asyncMatchers.toBeResolved(matchersUtil);
|
|
const actual = Promise.resolve();
|
|
|
|
return matcher.compare(actual).then(function(result) {
|
|
expect(result).toEqual(jasmine.objectContaining({ pass: true }));
|
|
});
|
|
});
|
|
|
|
it('fails if the actual is rejected', function() {
|
|
const matchersUtil = new privateUnderTest.MatchersUtil({
|
|
pp: privateUnderTest.makePrettyPrinter([])
|
|
});
|
|
const matcher = privateUnderTest.asyncMatchers.toBeResolved(matchersUtil);
|
|
const actual = Promise.reject(new Error('AsyncExpectationSpec rejection'));
|
|
|
|
return matcher.compare(actual).then(function(result) {
|
|
expect(result).toEqual({
|
|
pass: false,
|
|
message:
|
|
'Expected a promise to be resolved but it was rejected ' +
|
|
'with Error: AsyncExpectationSpec rejection.'
|
|
});
|
|
});
|
|
});
|
|
|
|
it('fails if actual is not a promise', function() {
|
|
const matchersUtil = new privateUnderTest.MatchersUtil();
|
|
const matcher = privateUnderTest.asyncMatchers.toBeResolved(matchersUtil);
|
|
const actual = 'not a promise';
|
|
|
|
function f() {
|
|
return matcher.compare(actual);
|
|
}
|
|
|
|
expect(f).toThrowError(
|
|
'Expected toBeResolved to be called on a promise but was on a string.'
|
|
);
|
|
});
|
|
});
|