Browse Source

[spec] Added new tests

tags/v0.10.0
Muthu Kumar 6 years ago
parent
commit
d6aac0f989
  1. 76
      spec/PromiseObject.spec.js
  2. 11
      spec/support/jasmine.json
  3. 33
      test.js

76
spec/PromiseObject.spec.js

@ -0,0 +1,76 @@
'use strict';
Promise.object = require('../es6');
// Simple object
const testObject1 = {
foo: Promise.resolve(1),
bar: {
foobar: Promise.resolve(2),
},
};
const resolvedObject1 = {
foo: 1,
bar: {
foobar: 2
},
};
// Nested promises with circular reference
const testObject2 = {
foo: Promise.resolve(1),
bar: {
foobar: Promise.resolve(2)
},
baz: [ 1, "two", Promise.resolve(3) ],
};
testObject2.link1 = testObject2;
testObject2.link2 = { link3: testObject2 };
const resolvedObject2 = {
foo: 1,
bar: {
foobar: 2,
},
baz: [ 1, "two", 3 ],
};
resolvedObject2.link1 = resolvedObject2;
resolvedObject2.link2 = { link3: resolvedObject2 };
// Deeply nested promises
const testObject3 = Promise.resolve({
foo: Promise.resolve({
bar: Promise.resolve(
Promise.resolve(5)
),
}),
});
const resolvedObject3 = {
foo: {
bar: 5,
},
};
/* global describe it expect */
describe("Promise.object", () => {
it("Should return resolvedObject1", () => {
return Promise.object(testObject1)
.then(obj => expect(obj).toEqual(resolvedObject1));
})
it("Should return resolvedObject2", () => {
return Promise.object(testObject2)
.then(obj => expect(obj).toEqual(resolvedObject2));
})
it("Should return resolvedObject3", () => {
return Promise.object(testObject3)
.then(obj => expect(obj).toEqual(resolvedObject3));
})
})

11
spec/support/jasmine.json

@ -0,0 +1,11 @@
{
"spec_dir": "spec",
"spec_files": [
"**/*[sS]pec.js"
],
"helpers": [
"helpers/**/*.js"
],
"stopSpecOnExpectationFailure": false,
"random": true
}

33
test.js

@ -1,33 +0,0 @@
Promise.object = require('./es6');
const assert = require('assert');
const linked = {
foo: Promise.resolve(1),
bar: {
foobar: Promise.resolve(2)
},
baz: [1, "two", Promise.resolve(3)],
ok: "four"
}
linked.linked = linked;
Promise.object(linked).then(x => {
console.log(x);
assert(x.foo === 1);
assert(x.bar.foobar === 2);
assert(x.baz[0] === 1 && x.baz[1] === "two");
assert(Array.isArray(x.baz) && x.baz[2] === 3);
assert(x.linked === x);
});
Promise.object(
Promise.resolve({
foo: Promise.resolve({
bar: Promise.resolve(4)
})
})
).then(x => {
console.log(x)
assert(x.foo.bar === 4);
});
Loading…
Cancel
Save