123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960 |
- var tap = require("tap");
- var ResourceRequest = require("../lib/ResourceRequest");
- tap.test("can be created", function(t) {
- var create = function() {
- var request = new ResourceRequest(undefined, Promise); // eslint-disable-line no-unused-vars
- };
- t.doesNotThrow(create);
- t.end();
- });
- tap.test("times out when created with a ttl", function(t) {
- var reject = function(err) {
- t.match(err, /ResourceRequest timed out/);
- t.end();
- };
- var resolve = function(r) {
- t.fail("should not resolve");
- };
- var request = new ResourceRequest(10, Promise); // eslint-disable-line no-unused-vars
- request.promise.then(resolve, reject);
- });
- tap.test("calls resolve when resolved", function(t) {
- var resource = {};
- var resolve = function(r) {
- t.equal(r, resource);
- t.end();
- };
- var reject = function(err) {
- t.error(err);
- };
- var request = new ResourceRequest(undefined, Promise);
- request.promise.then(resolve, reject);
- request.resolve(resource);
- });
- tap.test("removeTimeout removes the timeout", function(t) {
- var reject = function(err) {
- t.error(err);
- };
- var request = new ResourceRequest(10, Promise);
- request.promise.then(undefined, reject);
- request.removeTimeout();
- setTimeout(function() {
- t.end();
- }, 20);
- });
- tap.test("does nothing if resolved more than once", function(t) {
- var request = new ResourceRequest(undefined, Promise);
- t.doesNotThrow(function() {
- request.resolve({});
- });
- t.doesNotThrow(function() {
- request.resolve({});
- });
- t.end();
- });
|