56 lines
1.1 KiB
JavaScript
56 lines
1.1 KiB
JavaScript
'use strict'
|
|
|
|
const { test } = require('tap')
|
|
const { createPromise } = require('../../lib/create-promise')
|
|
|
|
test('createPromise() returns an object', (t) => {
|
|
t.plan(3)
|
|
t.type(createPromise(), 'object')
|
|
t.equal(Array.isArray(createPromise()), false)
|
|
t.notOk(Array.isArray(createPromise() !== null))
|
|
})
|
|
|
|
test('createPromise() returns an attribute with attribute resolve', (t) => {
|
|
t.plan(1)
|
|
t.ok('resolve' in createPromise())
|
|
})
|
|
|
|
test('createPromise() returns an attribute with attribute reject', (t) => {
|
|
t.plan(1)
|
|
t.ok('reject' in createPromise())
|
|
})
|
|
|
|
test('createPromise() returns an attribute with attribute createPromise', (t) => {
|
|
t.plan(1)
|
|
t.ok('promise' in createPromise())
|
|
})
|
|
|
|
test('when resolve is called, createPromise attribute is resolved', (t) => {
|
|
t.plan(1)
|
|
const p = createPromise()
|
|
|
|
p.promise
|
|
.then(() => {
|
|
t.pass()
|
|
})
|
|
.catch(() => {
|
|
t.fail()
|
|
})
|
|
p.resolve()
|
|
})
|
|
|
|
test('when reject is called, createPromise attribute is rejected', (t) => {
|
|
t.plan(1)
|
|
const p = createPromise()
|
|
|
|
p.promise
|
|
.then(() => {
|
|
t.fail()
|
|
})
|
|
.catch(() => {
|
|
t.pass()
|
|
})
|
|
|
|
p.reject()
|
|
})
|