all-contributors-cli/lib/contributors/github.test.js

49 lines
1.2 KiB
JavaScript
Raw Normal View History

import test from 'ava';
import nock from 'nock';
import getUserInfo from './github';
2016-06-28 09:34:32 +00:00
test.cb('should handle errors', t => {
nock('https://api.github.com')
.get('/users/nodisplayname')
.replyWithError(404);
2016-06-28 09:34:32 +00:00
getUserInfo('nodisplayname', err => {
t.truthy(err);
t.end();
});
});
2016-06-28 09:34:32 +00:00
test.cb('should fill in the name when null is returned', t => {
nock('https://api.github.com')
.get('/users/nodisplayname')
.reply(200, {
login: 'nodisplayname',
name: null,
avatar_url: 'https://avatars2.githubusercontent.com/u/3869412?v=3&s=400',
html_url: 'https://github.com/nodisplayname'
});
2016-06-28 09:34:32 +00:00
getUserInfo('nodisplayname', (err, info) => {
t.falsy(err);
t.is(info.name, 'nodisplayname');
t.end();
});
});
2016-06-28 09:34:32 +00:00
test.cb('should fill in the name when an empty string is returned', t => {
nock('https://api.github.com')
.get('/users/nodisplayname')
.reply(200, {
login: 'nodisplayname',
name: '',
avatar_url: 'https://avatars2.githubusercontent.com/u/3869412?v=3&s=400',
html_url: 'https://github.com/nodisplayname'
});
2016-06-28 09:34:32 +00:00
getUserInfo('nodisplayname', (err, info) => {
t.falsy(err);
t.is(info.name, 'nodisplayname');
t.end();
});
});