I am writing some BDD unit tests for the first time and I'd like to eliminate some repeated code for one of my test suites. The following async unit test code works fine, but I'd like to set up the Promise in the beforeEach() block somehow, since I will be writing many more it() tests, and each one will need to run the db.find(...)
call. Thanks
describe('DB retrieve row', function() {
beforeEach(function () {
// i'd like to set up the promise in this block
});
it("returns a least one result", function () {
function success(orderData) {
// keep the following line in this it() block
expect(orderData.length).to.be.ok;
}
function fail(error) {
new Error(error);
}
return db.find('P9GV8CIL').then(success).catch(fail);
});
});
Simply something like this would work
describe('DB retrieve row', function() {
var promise;
beforeEach(function () {
promise = db.find('P9GV8CIL')
});
it("returns a least one result", function () {
function success(orderData) {
// keep the following line in this it() block
expect(orderData.length).to.be.ok;
}
function fail(error) {
new Error(error);
}
return promise.then(success).catch(fail);
});
});