opds-web-client
Version:
66 lines (65 loc) • 2.45 kB
JavaScript
var chai_1 = require("chai");
var sinon_1 = require("sinon");
var auth_1 = require("../auth");
var DataFetcher_1 = require("../../DataFetcher");
var actions_1 = require("../../actions");
var OPDSDataAdapter_1 = require("../../OPDSDataAdapter");
var fetcher = new DataFetcher_1.default({ adapter: OPDSDataAdapter_1.adapter });
var actions = new actions_1.default(fetcher);
describe("auth reducer", function () {
var initState = {
basic: {
showForm: false,
callback: null,
credentials: null,
title: null,
loginLabel: null,
passwordLabel: null,
error: null
}
};
it("returns the initial state", function () {
chai_1.expect(auth_1.default(undefined, {})).to.deep.equal(initState);
});
it("handles SHOW_BASIC_AUTH_FORM", function () {
var callback = sinon_1.stub();
var labels = { login: "barcode", password: "pin" };
var action = actions.showBasicAuthForm(callback, labels, "library");
var newState = Object.assign({}, initState, {
basic: Object.assign({}, initState.basic, {
showForm: true,
callback: callback,
title: "library",
loginLabel: "barcode",
passwordLabel: "pin"
})
});
chai_1.expect(auth_1.default(initState, action)).to.deep.equal(newState);
});
it("handles HIDE_BASIC_AUTH_FORM", function () {
var oldState = Object.assign({}, initState, {
basic: Object.assign({}, initState.basic, {
showForm: true,
error: "test error"
})
});
var action = actions.hideBasicAuthForm();
var newState = Object.assign({}, oldState, {
basic: Object.assign({}, oldState.basic, {
showForm: false,
error: null
})
});
chai_1.expect(auth_1.default(oldState, action)).to.deep.equal(newState);
});
it("handles SAVE_BASIC_AUTH_CREDENTIALS", function () {
var action = actions.saveBasicAuthCredentials("credentials");
var newState = Object.assign({}, initState, {
basic: Object.assign({}, initState.basic, {
credentials: "credentials"
})
});
chai_1.expect(auth_1.default(initState, action)).to.deep.equal(newState);
});
});
;