Files
kami-parse-server/spec/TwitterAuth.spec.js

65 lines
1.6 KiB
JavaScript
Raw Normal View History

const twitter = require('../lib/Adapters/Auth/twitter');
describe('Twitter Auth', () => {
it('should use the proper configuration', () => {
// Multiple options, consumer_key found
expect(twitter.handleMultipleConfigurations({
consumer_key: 'hello',
}, [{
consumer_key: 'hello'
}, {
consumer_key: 'world'
}]).consumer_key).toEqual('hello');
// Multiple options, consumer_key not found
expect(function(){
twitter.handleMultipleConfigurations({
consumer_key: 'some',
}, [{
consumer_key: 'hello'
}, {
consumer_key: 'world'
}]);
}).toThrow();
// Multiple options, consumer_key not found
expect(function(){
twitter.handleMultipleConfigurations({
auth_token: 'token',
}, [{
consumer_key: 'hello'
}, {
consumer_key: 'world'
}]);
}).toThrow();
// Single configuration and consumer_key set
expect(twitter.handleMultipleConfigurations({
consumer_key: 'hello',
}, {
consumer_key: 'hello'
}).consumer_key).toEqual('hello');
// General case, only 1 config, no consumer_key set
expect(twitter.handleMultipleConfigurations({
auth_token: 'token',
}, {
consumer_key: 'hello'
}).consumer_key).toEqual('hello');
});
it("Should fail with missing options", (done) => {
try {
twitter.validateAuthData({
consumer_key: 'key',
consumer_secret: 'secret',
auth_token: 'token',
auth_token_secret: 'secret'
}, undefined);
} catch (error) {
jequal(error.message, 'Twitter auth configuration missing');
done();
}
});
});