closes #32
This commit is contained in:
parent
eeb5a37423
commit
9f1cb89d01
|
@ -20427,7 +20427,7 @@ if (typeof exports == "object") {
|
||||||
// request.coffee
|
// request.coffee
|
||||||
root.require.register('ghbc/src/modules/request.js', function(exports, require, module) {
|
root.require.register('ghbc/src/modules/request.js', function(exports, require, module) {
|
||||||
|
|
||||||
var request, respond, superagent, _, _ref;
|
var error, headers, request, response, superagent, _, _ref;
|
||||||
|
|
||||||
_ref = require('./require'), superagent = _ref.superagent, _ = _ref._;
|
_ref = require('./require'), superagent = _ref.superagent, _ = _ref._;
|
||||||
|
|
||||||
|
@ -20445,38 +20445,59 @@ if (typeof exports == "object") {
|
||||||
|
|
||||||
module.exports = {
|
module.exports = {
|
||||||
'all_milestones': function(repo, cb) {
|
'all_milestones': function(repo, cb) {
|
||||||
var query;
|
return request({
|
||||||
query = {
|
'protocol': repo.protocol,
|
||||||
'state': 'open',
|
'host': repo.host,
|
||||||
'sort': 'due_date',
|
'path': "/repos/" + repo.path + "/milestones",
|
||||||
'direction': 'asc'
|
'query': {
|
||||||
};
|
'state': 'open',
|
||||||
return request(repo, query, 'milestones', cb);
|
'sort': 'due_date',
|
||||||
|
'direction': 'asc'
|
||||||
|
},
|
||||||
|
'headers': headers(repo.token)
|
||||||
|
}, cb);
|
||||||
},
|
},
|
||||||
'one_milestone': function(repo, number, cb) {
|
'one_milestone': function(repo, number, cb) {
|
||||||
var query;
|
return request({
|
||||||
query = {
|
'protocol': repo.protocol,
|
||||||
'state': 'open',
|
'host': repo.host,
|
||||||
'sort': 'due_date',
|
'path': "/repos/" + repo.path + "/milestones/" + number,
|
||||||
'direction': 'asc'
|
'query': {
|
||||||
};
|
'state': 'open',
|
||||||
return request(repo, query, "milestones/" + number, cb);
|
'sort': 'due_date',
|
||||||
|
'direction': 'asc'
|
||||||
|
},
|
||||||
|
'headers': headers(repo.token)
|
||||||
|
}, cb);
|
||||||
},
|
},
|
||||||
'all_issues': function(repo, query, cb) {
|
'all_issues': function(repo, query, cb) {
|
||||||
_.extend(query, {
|
return request({
|
||||||
'per_page': '100'
|
'protocol': repo.protocol,
|
||||||
});
|
'host': repo.host,
|
||||||
return request(repo, query, 'issues', cb);
|
'path': "/repos/" + repo.path + "/issues",
|
||||||
|
'query': _.extend(query, {
|
||||||
|
'per_page': '100'
|
||||||
|
}),
|
||||||
|
'headers': headers(repo.token)
|
||||||
|
}, cb);
|
||||||
},
|
},
|
||||||
'config': function(cb) {
|
'config': function(cb) {
|
||||||
return superagent.get("http://" + (window.location.host + window.location.pathname) + "config.json").set('Content-Type', 'application/json').end(_.partialRight(respond, cb));
|
return request({
|
||||||
|
'protocol': 'http',
|
||||||
|
'host': window.location.host,
|
||||||
|
'path': "" + window.location.pathname + "config.json",
|
||||||
|
'headers': _.extend(headers(), {
|
||||||
|
'Accept': 'application/json'
|
||||||
|
})
|
||||||
|
}, cb);
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
request = function(_arg, query, noun, cb) {
|
request = function(_arg, cb) {
|
||||||
var host, k, path, protocol, q, req, token, v;
|
var exited, headers, host, k, path, protocol, q, query, req, timeout, v;
|
||||||
protocol = _arg.protocol, host = _arg.host, token = _arg.token, path = _arg.path;
|
protocol = _arg.protocol, host = _arg.host, path = _arg.path, query = _arg.query, headers = _arg.headers;
|
||||||
q = ((function() {
|
exited = false;
|
||||||
|
q = query ? '?' + ((function() {
|
||||||
var _results;
|
var _results;
|
||||||
_results = [];
|
_results = [];
|
||||||
for (k in query) {
|
for (k in query) {
|
||||||
|
@ -20484,16 +20505,31 @@ if (typeof exports == "object") {
|
||||||
_results.push("" + k + "=" + v);
|
_results.push("" + k + "=" + v);
|
||||||
}
|
}
|
||||||
return _results;
|
return _results;
|
||||||
})()).join('&');
|
})()).join('&') : '';
|
||||||
req = superagent.get("" + protocol + "://" + host + "/repos/" + path + "/" + noun + "?" + q).set('Content-Type', 'application/json').set('Accept', 'application/vnd.github.v3');
|
req = superagent.get("" + protocol + "://" + host + path + q);
|
||||||
if (token) {
|
for (k in headers) {
|
||||||
req = req.set('Authorization', "token " + token);
|
v = headers[k];
|
||||||
|
req.set(k, v);
|
||||||
}
|
}
|
||||||
return req.end(_.partialRight(respond, cb));
|
timeout = setTimeout(function() {
|
||||||
|
exited = true;
|
||||||
|
return cb('Request has timed out');
|
||||||
|
}, 3e3);
|
||||||
|
return req.end(function(err, data) {
|
||||||
|
if (exited) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
exited = true;
|
||||||
|
clearTimeout(timeout);
|
||||||
|
return response(err, data, cb);
|
||||||
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
respond = function(data, cb) {
|
response = function(err, data, cb) {
|
||||||
var _ref1;
|
var _ref1;
|
||||||
|
if (err) {
|
||||||
|
return cb(error(err));
|
||||||
|
}
|
||||||
if (data.statusType !== 2) {
|
if (data.statusType !== 2) {
|
||||||
if ((data != null ? (_ref1 = data.body) != null ? _ref1.message : void 0 : void 0) != null) {
|
if ((data != null ? (_ref1 = data.body) != null ? _ref1.message : void 0 : void 0) != null) {
|
||||||
return cb(data.body.message);
|
return cb(data.body.message);
|
||||||
|
@ -20503,6 +20539,40 @@ if (typeof exports == "object") {
|
||||||
return cb(null, data.body);
|
return cb(null, data.body);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
headers = function(token) {
|
||||||
|
var h;
|
||||||
|
h = _.extend({}, {
|
||||||
|
'Content-Type': 'application/json',
|
||||||
|
'Accept': 'application/vnd.github.v3'
|
||||||
|
});
|
||||||
|
if (token != null) {
|
||||||
|
h.Authorization = "token " + token;
|
||||||
|
}
|
||||||
|
return h;
|
||||||
|
};
|
||||||
|
|
||||||
|
error = function(err) {
|
||||||
|
var message;
|
||||||
|
switch (false) {
|
||||||
|
case !_.isString(err):
|
||||||
|
message = err;
|
||||||
|
break;
|
||||||
|
case !_.isArray(err):
|
||||||
|
message = err[1];
|
||||||
|
break;
|
||||||
|
case !(_.isObject(err) && _.isString(err.message)):
|
||||||
|
message = err.message;
|
||||||
|
}
|
||||||
|
if (!message) {
|
||||||
|
try {
|
||||||
|
message = JSON.stringify(err);
|
||||||
|
} catch (_error) {
|
||||||
|
message = err.toString();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return message;
|
||||||
|
};
|
||||||
|
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
||||||
|
|
File diff suppressed because one or more lines are too long
130
build/app.js
130
build/app.js
|
@ -785,7 +785,7 @@
|
||||||
// request.coffee
|
// request.coffee
|
||||||
root.require.register('ghbc/src/modules/request.js', function(exports, require, module) {
|
root.require.register('ghbc/src/modules/request.js', function(exports, require, module) {
|
||||||
|
|
||||||
var request, respond, superagent, _, _ref;
|
var error, headers, request, response, superagent, _, _ref;
|
||||||
|
|
||||||
_ref = require('./require'), superagent = _ref.superagent, _ = _ref._;
|
_ref = require('./require'), superagent = _ref.superagent, _ = _ref._;
|
||||||
|
|
||||||
|
@ -803,38 +803,59 @@
|
||||||
|
|
||||||
module.exports = {
|
module.exports = {
|
||||||
'all_milestones': function(repo, cb) {
|
'all_milestones': function(repo, cb) {
|
||||||
var query;
|
return request({
|
||||||
query = {
|
'protocol': repo.protocol,
|
||||||
'state': 'open',
|
'host': repo.host,
|
||||||
'sort': 'due_date',
|
'path': "/repos/" + repo.path + "/milestones",
|
||||||
'direction': 'asc'
|
'query': {
|
||||||
};
|
'state': 'open',
|
||||||
return request(repo, query, 'milestones', cb);
|
'sort': 'due_date',
|
||||||
|
'direction': 'asc'
|
||||||
|
},
|
||||||
|
'headers': headers(repo.token)
|
||||||
|
}, cb);
|
||||||
},
|
},
|
||||||
'one_milestone': function(repo, number, cb) {
|
'one_milestone': function(repo, number, cb) {
|
||||||
var query;
|
return request({
|
||||||
query = {
|
'protocol': repo.protocol,
|
||||||
'state': 'open',
|
'host': repo.host,
|
||||||
'sort': 'due_date',
|
'path': "/repos/" + repo.path + "/milestones/" + number,
|
||||||
'direction': 'asc'
|
'query': {
|
||||||
};
|
'state': 'open',
|
||||||
return request(repo, query, "milestones/" + number, cb);
|
'sort': 'due_date',
|
||||||
|
'direction': 'asc'
|
||||||
|
},
|
||||||
|
'headers': headers(repo.token)
|
||||||
|
}, cb);
|
||||||
},
|
},
|
||||||
'all_issues': function(repo, query, cb) {
|
'all_issues': function(repo, query, cb) {
|
||||||
_.extend(query, {
|
return request({
|
||||||
'per_page': '100'
|
'protocol': repo.protocol,
|
||||||
});
|
'host': repo.host,
|
||||||
return request(repo, query, 'issues', cb);
|
'path': "/repos/" + repo.path + "/issues",
|
||||||
|
'query': _.extend(query, {
|
||||||
|
'per_page': '100'
|
||||||
|
}),
|
||||||
|
'headers': headers(repo.token)
|
||||||
|
}, cb);
|
||||||
},
|
},
|
||||||
'config': function(cb) {
|
'config': function(cb) {
|
||||||
return superagent.get("http://" + (window.location.host + window.location.pathname) + "config.json").set('Content-Type', 'application/json').end(_.partialRight(respond, cb));
|
return request({
|
||||||
|
'protocol': 'http',
|
||||||
|
'host': window.location.host,
|
||||||
|
'path': "" + window.location.pathname + "config.json",
|
||||||
|
'headers': _.extend(headers(), {
|
||||||
|
'Accept': 'application/json'
|
||||||
|
})
|
||||||
|
}, cb);
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
request = function(_arg, query, noun, cb) {
|
request = function(_arg, cb) {
|
||||||
var host, k, path, protocol, q, req, token, v;
|
var exited, headers, host, k, path, protocol, q, query, req, timeout, v;
|
||||||
protocol = _arg.protocol, host = _arg.host, token = _arg.token, path = _arg.path;
|
protocol = _arg.protocol, host = _arg.host, path = _arg.path, query = _arg.query, headers = _arg.headers;
|
||||||
q = ((function() {
|
exited = false;
|
||||||
|
q = query ? '?' + ((function() {
|
||||||
var _results;
|
var _results;
|
||||||
_results = [];
|
_results = [];
|
||||||
for (k in query) {
|
for (k in query) {
|
||||||
|
@ -842,16 +863,31 @@
|
||||||
_results.push("" + k + "=" + v);
|
_results.push("" + k + "=" + v);
|
||||||
}
|
}
|
||||||
return _results;
|
return _results;
|
||||||
})()).join('&');
|
})()).join('&') : '';
|
||||||
req = superagent.get("" + protocol + "://" + host + "/repos/" + path + "/" + noun + "?" + q).set('Content-Type', 'application/json').set('Accept', 'application/vnd.github.v3');
|
req = superagent.get("" + protocol + "://" + host + path + q);
|
||||||
if (token) {
|
for (k in headers) {
|
||||||
req = req.set('Authorization', "token " + token);
|
v = headers[k];
|
||||||
|
req.set(k, v);
|
||||||
}
|
}
|
||||||
return req.end(_.partialRight(respond, cb));
|
timeout = setTimeout(function() {
|
||||||
|
exited = true;
|
||||||
|
return cb('Request has timed out');
|
||||||
|
}, 3e3);
|
||||||
|
return req.end(function(err, data) {
|
||||||
|
if (exited) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
exited = true;
|
||||||
|
clearTimeout(timeout);
|
||||||
|
return response(err, data, cb);
|
||||||
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
respond = function(data, cb) {
|
response = function(err, data, cb) {
|
||||||
var _ref1;
|
var _ref1;
|
||||||
|
if (err) {
|
||||||
|
return cb(error(err));
|
||||||
|
}
|
||||||
if (data.statusType !== 2) {
|
if (data.statusType !== 2) {
|
||||||
if ((data != null ? (_ref1 = data.body) != null ? _ref1.message : void 0 : void 0) != null) {
|
if ((data != null ? (_ref1 = data.body) != null ? _ref1.message : void 0 : void 0) != null) {
|
||||||
return cb(data.body.message);
|
return cb(data.body.message);
|
||||||
|
@ -861,6 +897,40 @@
|
||||||
return cb(null, data.body);
|
return cb(null, data.body);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
headers = function(token) {
|
||||||
|
var h;
|
||||||
|
h = _.extend({}, {
|
||||||
|
'Content-Type': 'application/json',
|
||||||
|
'Accept': 'application/vnd.github.v3'
|
||||||
|
});
|
||||||
|
if (token != null) {
|
||||||
|
h.Authorization = "token " + token;
|
||||||
|
}
|
||||||
|
return h;
|
||||||
|
};
|
||||||
|
|
||||||
|
error = function(err) {
|
||||||
|
var message;
|
||||||
|
switch (false) {
|
||||||
|
case !_.isString(err):
|
||||||
|
message = err;
|
||||||
|
break;
|
||||||
|
case !_.isArray(err):
|
||||||
|
message = err[1];
|
||||||
|
break;
|
||||||
|
case !(_.isObject(err) && _.isString(err.message)):
|
||||||
|
message = err.message;
|
||||||
|
}
|
||||||
|
if (!message) {
|
||||||
|
try {
|
||||||
|
message = JSON.stringify(err);
|
||||||
|
} catch (_error) {
|
||||||
|
message = err.toString();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return message;
|
||||||
|
};
|
||||||
|
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
||||||
|
|
File diff suppressed because one or more lines are too long
|
@ -0,0 +1 @@
|
||||||
|
../build/app.bundle.js
|
|
@ -24,7 +24,7 @@ route = ->
|
||||||
, (conf, cb) ->
|
, (conf, cb) ->
|
||||||
repo _.extend(opts, conf), cb
|
repo _.extend(opts, conf), cb
|
||||||
], (err) ->
|
], (err) ->
|
||||||
render 'body', 'error', { 'text': err.toString() } if err
|
render 'body', 'error', { 'text': do err.toString } if err
|
||||||
|
|
||||||
# Info notice for you.
|
# Info notice for you.
|
||||||
render 'body', 'info'
|
render 'body', 'info'
|
||||||
|
|
|
@ -13,47 +13,74 @@ module.exports =
|
||||||
|
|
||||||
# Get all milestones.
|
# Get all milestones.
|
||||||
'all_milestones': (repo, cb) ->
|
'all_milestones': (repo, cb) ->
|
||||||
query = { 'state': 'open', 'sort': 'due_date', 'direction': 'asc' }
|
request
|
||||||
request repo, query, 'milestones', cb
|
'protocol': repo.protocol
|
||||||
|
'host': repo.host
|
||||||
|
'path': "/repos/#{repo.path}/milestones"
|
||||||
|
'query': { 'state': 'open', 'sort': 'due_date', 'direction': 'asc' }
|
||||||
|
'headers': headers repo.token
|
||||||
|
, cb
|
||||||
|
|
||||||
# Get one milestone.
|
# Get one milestone.
|
||||||
'one_milestone': (repo, number, cb) ->
|
'one_milestone': (repo, number, cb) ->
|
||||||
query = { 'state': 'open', 'sort': 'due_date', 'direction': 'asc' }
|
request
|
||||||
request repo, query, "milestones/#{number}", cb
|
'protocol': repo.protocol
|
||||||
|
'host': repo.host
|
||||||
|
'path': "/repos/#{repo.path}/milestones/#{number}"
|
||||||
|
'query': { 'state': 'open', 'sort': 'due_date', 'direction': 'asc' }
|
||||||
|
'headers': headers repo.token
|
||||||
|
, cb
|
||||||
|
|
||||||
# Get all issues for a state.
|
# Get all issues for a state.
|
||||||
'all_issues': (repo, query, cb) ->
|
'all_issues': (repo, query, cb) ->
|
||||||
_.extend query, { 'per_page': '100' }
|
request
|
||||||
request repo, query, 'issues', cb
|
'protocol': repo.protocol
|
||||||
|
'host': repo.host
|
||||||
|
'path': "/repos/#{repo.path}/issues"
|
||||||
|
'query': _.extend query, { 'per_page': '100' }
|
||||||
|
'headers': headers repo.token
|
||||||
|
, cb
|
||||||
|
|
||||||
# Get config from our host always.
|
# Get config from our host always.
|
||||||
'config': (cb) ->
|
'config': (cb) ->
|
||||||
superagent
|
request
|
||||||
.get("http://#{window.location.host + window.location.pathname}config.json")
|
'protocol': 'http'
|
||||||
.set('Content-Type', 'application/json')
|
'host': window.location.host
|
||||||
.end _.partialRight respond, cb
|
'path': "#{window.location.pathname}config.json"
|
||||||
|
'headers': _.extend headers(), { 'Accept': 'application/json' }
|
||||||
|
, cb
|
||||||
|
|
||||||
|
# Make a request using SuperAgent.
|
||||||
|
request = ({ protocol, host, path, query, headers }, cb) ->
|
||||||
|
exited = no
|
||||||
|
|
||||||
# Make a request using SuperAgent to GitHub.
|
|
||||||
request = ({ protocol, host, token, path }, query, noun, cb) ->
|
|
||||||
# Make the query params.
|
# Make the query params.
|
||||||
q = ( "#{k}=#{v}" for k, v of query ).join('&')
|
q = if query then '?' + ( "#{k}=#{v}" for k, v of query ).join('&') else ''
|
||||||
|
|
||||||
req = superagent
|
|
||||||
# The URI.
|
# The URI.
|
||||||
.get("#{protocol}://#{host}/repos/#{path}/#{noun}?#{q}")
|
req = superagent.get("#{protocol}://#{host}#{path}#{q}")
|
||||||
# The content type.
|
# Add headers.
|
||||||
.set('Content-Type', 'application/json')
|
( req.set(k, v) for k, v of headers )
|
||||||
# The media type.
|
|
||||||
.set('Accept', 'application/vnd.github.v3')
|
|
||||||
|
|
||||||
# Auth token?
|
# Timeout for requests that do not finish... see #32.
|
||||||
req = req.set('Authorization', "token #{token}") if token
|
timeout = setTimeout ->
|
||||||
|
exited = yes
|
||||||
|
cb 'Request has timed out'
|
||||||
|
, 3e3
|
||||||
|
|
||||||
# Send.
|
# Send.
|
||||||
req.end _.partialRight respond, cb
|
req.end (err, data) ->
|
||||||
|
# Arrived too late.
|
||||||
|
return if exited
|
||||||
|
# All fine.
|
||||||
|
exited = yes
|
||||||
|
clearTimeout timeout
|
||||||
|
# Actually process the response.
|
||||||
|
response err, data, cb
|
||||||
|
|
||||||
# How do we respond to a response?
|
# How do we respond to a response?
|
||||||
respond = (data, cb) ->
|
response = (err, data, cb) ->
|
||||||
|
return cb error err if err
|
||||||
# 2xx?
|
# 2xx?
|
||||||
if data.statusType isnt 2
|
if data.statusType isnt 2
|
||||||
# Do we have a message from GitHub?
|
# Do we have a message from GitHub?
|
||||||
|
@ -62,3 +89,31 @@ respond = (data, cb) ->
|
||||||
return cb data.error.message
|
return cb data.error.message
|
||||||
# All good.
|
# All good.
|
||||||
cb null, data.body
|
cb null, data.body
|
||||||
|
|
||||||
|
# Give us headers.
|
||||||
|
headers = (token) ->
|
||||||
|
# The defaults.
|
||||||
|
h = _.extend {},
|
||||||
|
'Content-Type': 'application/json'
|
||||||
|
'Accept': 'application/vnd.github.v3'
|
||||||
|
# Add token?
|
||||||
|
h.Authorization = "token #{token}" if token?
|
||||||
|
h
|
||||||
|
|
||||||
|
# Parse an error.
|
||||||
|
error = (err) ->
|
||||||
|
switch
|
||||||
|
when _.isString err
|
||||||
|
message = err
|
||||||
|
when _.isArray err
|
||||||
|
message = err[1]
|
||||||
|
when _.isObject(err) and _.isString(err.message)
|
||||||
|
message = err.message
|
||||||
|
|
||||||
|
unless message
|
||||||
|
try
|
||||||
|
message = JSON.stringify err
|
||||||
|
catch
|
||||||
|
message = do err.toString
|
||||||
|
|
||||||
|
message
|
|
@ -2,12 +2,17 @@
|
||||||
proxy = do require('proxyquire').noCallThru
|
proxy = do require('proxyquire').noCallThru
|
||||||
assert = require 'assert'
|
assert = require 'assert'
|
||||||
path = require 'path'
|
path = require 'path'
|
||||||
|
_ = require 'lodash'
|
||||||
|
|
||||||
class Superagent
|
class Superagent
|
||||||
|
|
||||||
get: -> @
|
get: (uri) ->
|
||||||
set: -> @
|
@params = { uri }
|
||||||
end: (cb) -> cb @response
|
@
|
||||||
|
set: (key, value) ->
|
||||||
|
@params[key] = value
|
||||||
|
@
|
||||||
|
end: (cb) -> cb null, @response
|
||||||
|
|
||||||
request = proxy path.resolve(__dirname, '../src/modules/request.coffee'),
|
request = proxy path.resolve(__dirname, '../src/modules/request.coffee'),
|
||||||
'./require':
|
'./require':
|
||||||
|
@ -25,8 +30,28 @@ module.exports =
|
||||||
'error': no
|
'error': no
|
||||||
'body': [ null ]
|
'body': [ null ]
|
||||||
|
|
||||||
request.all_milestones {}, (err) ->
|
request.all_milestones {}, (err, data) ->
|
||||||
assert.ifError err
|
assert.ifError err
|
||||||
|
assert.deepEqual sa.params,
|
||||||
|
'uri': 'undefined://undefined/repos/undefined/milestones?state=open&sort=due_date&direction=asc'
|
||||||
|
'Content-Type': 'application/json',
|
||||||
|
'Accept': 'application/vnd.github.v3'
|
||||||
|
assert.deepEqual data, [ null ]
|
||||||
|
do done
|
||||||
|
|
||||||
|
'request - one milestone (ok)': (done) ->
|
||||||
|
sa.response =
|
||||||
|
'statusType': 2
|
||||||
|
'error': no
|
||||||
|
'body': [ null ]
|
||||||
|
|
||||||
|
request.one_milestone {}, 1, (err, data) ->
|
||||||
|
assert.ifError err
|
||||||
|
assert.deepEqual sa.params,
|
||||||
|
'uri': 'undefined://undefined/repos/undefined/milestones/1?state=open&sort=due_date&direction=asc'
|
||||||
|
'Content-Type': 'application/json',
|
||||||
|
'Accept': 'application/vnd.github.v3'
|
||||||
|
assert.deepEqual data, [ null ]
|
||||||
do done
|
do done
|
||||||
|
|
||||||
'request - one milestone (404)': (done) ->
|
'request - one milestone (404)': (done) ->
|
||||||
|
@ -50,3 +75,18 @@ module.exports =
|
||||||
request.one_milestone {}, 9, (err) ->
|
request.one_milestone {}, 9, (err) ->
|
||||||
assert.equal err, 'Error'
|
assert.equal err, 'Error'
|
||||||
do done
|
do done
|
||||||
|
|
||||||
|
'request - all issues (ok)': (done) ->
|
||||||
|
sa.response =
|
||||||
|
'statusType': 2
|
||||||
|
'error': no
|
||||||
|
'body': [ null ]
|
||||||
|
|
||||||
|
request.all_issues {}, {}, (err, data) ->
|
||||||
|
assert.ifError err
|
||||||
|
assert.deepEqual sa.params,
|
||||||
|
'uri': 'undefined://undefined/repos/undefined/issues?per_page=100'
|
||||||
|
'Content-Type': 'application/json',
|
||||||
|
'Accept': 'application/vnd.github.v3'
|
||||||
|
assert.deepEqual data, [ null ]
|
||||||
|
do done
|
Loading…
Reference in New Issue