UNPKG

opds-web-client

Version:
96 lines (95 loc) 4.39 kB
"use strict"; var __assign = (this && this.__assign) || function () { __assign = Object.assign || function(t) { for (var s, i = 1, n = arguments.length; i < n; i++) { s = arguments[i]; for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p]; } return t; }; return __assign.apply(this, arguments); }; Object.defineProperty(exports, "__esModule", { value: true }); 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 BasicAuthPlugin_1 = require("../../BasicAuthPlugin"); var fetcher = new DataFetcher_1.default({ adapter: OPDSDataAdapter_1.adapter }); var actions = new actions_1.default(fetcher); describe("auth reducer", function () { var initState = { showForm: false, callback: null, cancel: null, credentials: null, title: null, error: null, attemptedProvider: null, providers: null }; it("returns the initial state", function () { (0, chai_1.expect)((0, auth_1.default)(undefined, {})).to.deep.equal(initState); }); it("handles SHOW_AUTH_FORM", function () { var callback = (0, sinon_1.stub)(); var cancel = (0, sinon_1.stub)(); var provider = { id: "library", plugin: BasicAuthPlugin_1.default, method: { type: BasicAuthPlugin_1.default.type, labels: { login: "barcode", password: "pin" } } }; var action = actions.showAuthForm(callback, cancel, [provider], "library"); var newState = __assign(__assign({}, initState), { showForm: true, callback: callback, cancel: cancel, title: "library", providers: [provider] }); (0, chai_1.expect)((0, auth_1.default)(initState, action)).to.deep.equal(newState); }); it("handles SHOW_AUTH_FORM after error", function () { var callback = (0, sinon_1.stub)(); var cancel = (0, sinon_1.stub)(); var provider = { id: "library", plugin: BasicAuthPlugin_1.default, method: { type: BasicAuthPlugin_1.default.type, labels: { login: "barcode", password: "pin" } } }; var error = "Invalid Credentials"; var attemptedProvider = "library"; var action = actions.showAuthForm(callback, cancel, [provider], "library", error, attemptedProvider); var previousAttemptState = __assign(__assign({}, initState), { title: "library" }); var newState = __assign(__assign({}, previousAttemptState), { showForm: true, callback: callback, cancel: cancel, title: "library", providers: [provider], error: error, attemptedProvider: attemptedProvider }); (0, chai_1.expect)((0, auth_1.default)(previousAttemptState, action)).to.deep.equal(newState); }); it("handles HIDE_AUTH_FORM", function () { var oldState = __assign(__assign({}, initState), { showForm: true, error: "test error" }); var action = actions.hideAuthForm(); var newState = __assign(__assign({}, oldState), { showForm: false, error: null }); (0, chai_1.expect)((0, auth_1.default)(oldState, action)).to.deep.equal(newState); }); it("handles SAVE_AUTH_CREDENTIALS", function () { var credentials = { provider: "test", credentials: "credentials" }; var action = actions.saveAuthCredentials(credentials); var newState = __assign(__assign({}, initState), { credentials: credentials }); (0, chai_1.expect)((0, auth_1.default)(initState, action)).to.deep.equal(newState); }); it("handles CLEAR_AUTH_CREDENTIALS", function () { var credentials = { provider: "test", credentials: "credentials" }; var oldState = __assign(__assign({}, initState), { credentials: credentials }); var action = actions.clearAuthCredentials(); var newState = __assign(__assign({}, initState), { credentials: null }); (0, chai_1.expect)((0, auth_1.default)(oldState, action)).to.deep.equal(newState); }); });