2018-01-22 16:20:39 -08:00

46 lines
1.3 KiB
JavaScript

import Authenticator from 'wherehows-web/authenticators/custom-ldap';
import { module, test } from 'qunit';
import sinon from 'sinon';
import { ApiStatus } from 'wherehows-web/utils/api';
module('Unit | Utility | authenticators/custom ldap', {
beforeEach() {
this.server = sinon.createFakeServer();
},
afterEach() {
this.server.restore();
}
});
test('Authenticate methods work as expected', async function(assert) {
assert.expect(2);
const authenticator = new Authenticator();
const data = {
username: 'wherehows',
uuid: 'wherehows-uuid'
};
let response;
this.server.respondWith('POST', '/authenticate', [
200,
{ 'Content-Type': 'application/json' },
JSON.stringify({ status: ApiStatus.OK, data })
]);
response = authenticator.authenticate('username', 'password');
this.server.respond();
assert.ok(typeof response.then === 'function', 'returns a Promise object or thennable');
assert.equal((await response).username, data.username, 'authenticate correctly resolves with api response');
});
test('Restore method works as expected', function(assert) {
const authenticator = new Authenticator();
const response = authenticator.restore();
assert.ok(typeof response.then === 'function', 'returns a Promise object or thennable');
});