UNPKG

opds-web-client

Version:
39 lines (38 loc) 1.88 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var chai_1 = require("chai"); var sinon_1 = require("sinon"); var React = require("react"); var enzyme_1 = require("enzyme"); var UrlForm_1 = require("../UrlForm"); var routing_1 = require("../../__mocks__/routing"); describe("UrlForm", function () { it("shows the form with bootstrap classes", function () { var context = (0, routing_1.mockRouterContext)(); var wrapper = (0, enzyme_1.shallow)(React.createElement(UrlForm_1.default, null), { context: context }); var form = wrapper.find("form"); var input = wrapper.find("input"); var button = wrapper.find("button"); (0, chai_1.expect)(form.hasClass("form-inline")).to.equal(true); (0, chai_1.expect)(input.hasClass("form-control")).to.equal(true); (0, chai_1.expect)(button.hasClass("btn")).to.equal(true); }); it("fetches the url", function () { var push = (0, sinon_1.stub)(); var context = (0, routing_1.mockRouterContext)(push); var wrapper = (0, enzyme_1.mount)(React.createElement(UrlForm_1.default, null), { context: context }); var form = wrapper.find("form"); var input = wrapper.find("input").getDOMNode(); input.value = "some url"; form.simulate("submit"); (0, chai_1.expect)(push.callCount).to.equal(1); (0, chai_1.expect)(push.args[0][0]).to.equal(context.pathFor("some url", null)); }); it("should render a label ", function () { var context = (0, routing_1.mockRouterContext)(); var wrapper = (0, enzyme_1.mount)(React.createElement(UrlForm_1.default, null), { context: context }); var label = wrapper.find("label"); (0, chai_1.expect)(label.length).to.equal(1); (0, chai_1.expect)(label.prop("htmlFor")).to.equal("opds-input"); }); });