mirror of
https://github.com/thewesker/bug-em.git
synced 2025-12-21 20:41:05 -05:00
106 lines
2.8 KiB
JavaScript
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()
|
|
})
|
|
})
|
|
})
|
|
});
|