Files
bug-em/node_modules/twit/tests/twit.js
Talor Berthelson 889faf9c1c lol
2016-06-17 20:49:15 -04:00

106 lines
2.8 KiB
JavaScript

var assert = require('assert')
, Twit = require('../lib/twitter')
, config1 = require('../config1')
describe('twit', function () {
describe('instantiation', function () {
it('works with var twit = new Twit()', function () {
var twit = new Twit({
consumer_key: 'a',
consumer_secret: 'b',
access_token: 'c',
access_token_secret: 'd'
});
assert(twit.config)
assert.equal(typeof twit.get, 'function')
assert.equal(typeof twit.post, 'function')
assert.equal(typeof twit.stream, 'function')
})
it('works with var twit = Twit()', function () {
var twit = Twit({
consumer_key: 'a',
consumer_secret: 'b',
access_token: 'c',
access_token_secret: 'd'
});
assert(twit.config)
assert.equal(typeof twit.get, 'function')
assert.equal(typeof twit.post, 'function')
assert.equal(typeof twit.stream, 'function')
})
})
describe('config', function () {
it('throws when passing empty config', function (done) {
assert.throws(function () {
var twit = new Twit({})
}, Error)
done()
})
it('throws when config is missing a required key', function (done) {
assert.throws(function () {
var twit = new Twit({
consumer_key: 'a'
, consumer_secret: 'a'
, access_token: 'a'
})
}, Error)
done()
})
it('throws when config provides all keys but they\'re empty strings', function (done) {
assert.throws(function () {
var twit = new Twit({
consumer_key: ''
, consumer_secret: ''
, access_token: ''
, access_token_secret: ''
})
}, Error)
done()
})
})
describe('setAuth()', function () {
var twit;
beforeEach(function () {
twit = new Twit({
consumer_key: 'a',
consumer_secret: 'b',
access_token: 'c',
access_token_secret: 'd'
})
})
it('should update the client\'s auth config', function (done) {
// partial update
twit.setAuth({
consumer_key: 'x',
consumer_secret: 'y'
})
assert(twit.config.consumer_key === 'x')
assert(twit.config.consumer_secret === 'y')
// full update
twit.setAuth(config1)
assert(twit.config.consumer_key === config1.consumer_key)
assert(twit.config.consumer_secret === config1.consumer_secret)
assert(twit.config.access_token === config1.access_token)
assert(twit.config.access_token_secret === config1.access_token_secret)
twit.get('account/verify_credentials', { twit_options: { retry: true } }, function (err, reply, response) {
assert(!err, err);
assert(response.headers['x-rate-limit-limit'])
done()
})
})
})
});