15.5.0 • Published 5 months ago

@expressen/tallahassee v15.5.0

Weekly downloads
136
License
BSD-3-Clause
Repository
github
Last release
5 months ago

Tallahassee

Utilities

Built latest

Test your client scripts in a headless browser.

Introduction

Supports just about everything.

Example:

"use strict";

const Browser = require("@expressen/tallahassee");
const Script = require("@bonniernews/wichita");
const { app } = require("../app/app.js");

describe("Tallahassee", () => {
  describe("navigateTo()", () => {
    it("navigates to url", async () => {
      await new Browser(app).navigateTo("/");
    });

    it("throws if not 200", async () => {
      try {
        await new Browser(app).navigateTo("/404");
      } catch (e) {
        var err = e; // eslint-disable-line no-var
      }
      expect(err).to.be.ok;
    });

    it("unless you override status code", async () => {
      const browser = await new Browser(app).navigateTo("/404", null, 404);
      expect(browser.document.getElementsByTagName("h1")[0].innerText).to.equal("Apocalyptic");
    });
  });

  describe("run script", () => {
    it("run es6 script sources with @bonniernews/wichita", async () => {
      const browser = await new Browser(app).navigateTo("/", { cookie: "_ga=1" });

      await new Script("./app/assets/scripts/main.js").run(browser.window);

      expect(browser.document.cookie).to.equal("_ga=1");
      expect(browser.document.getElementsByClassName("set-by-js")).to.have.length(1);
    });

    it("again", async () => {
      const browser = await new Browser(app).navigateTo("/");

      await new Script("./app/assets/scripts/main.js").run(browser.window);

      expect(browser.document.cookie).to.equal("");
      expect(browser.document.getElementsByClassName("set-by-js")).to.have.length(0);
    });
  });
});

External scripts

May we suggest you to use Wichita, the Tallahassee sidekick. It can be found here https://www.npmjs.com/package/@bonniernews/wichita

Timers

If overriding timers on window, e.g. setTimeout it can be a good idea to make them asynchronous since they tend to be recurring.

Example:

browser.window.setTimeout = function mySetTimeout(fn, ms, ...args) {
  process.nextTick(fn, ...args);
};
15.5.0

5 months ago

15.4.0

5 months ago

15.0.0

7 months ago

14.16.0

7 months ago

15.3.0

5 months ago

15.1.0

6 months ago

15.2.0

6 months ago

15.2.1

5 months ago

14.12.0

1 year ago

14.14.0

11 months ago

14.13.0

1 year ago

14.15.0

11 months ago

14.11.0

1 year ago

14.9.0

1 year ago

14.8.0

1 year ago

14.10.3

1 year ago

14.10.2

1 year ago

14.10.1

1 year ago

14.10.0

1 year ago

13.3.0

1 year ago

14.1.0

1 year ago

14.5.0

1 year ago

14.2.0

1 year ago

14.6.0

1 year ago

14.3.0

1 year ago

14.7.0

1 year ago

14.0.0

1 year ago

14.4.0

1 year ago

12.0.0

2 years ago

11.20.0

2 years ago

11.19.0

2 years ago

13.0.0

1 year ago

13.1.1

1 year ago

13.1.0

1 year ago

13.2.2

1 year ago

13.2.0

1 year ago

13.2.1

1 year ago

12.1.0

1 year ago

11.21.0

2 years ago

11.18.0

2 years ago

11.17.0

2 years ago

11.16.0

2 years ago

11.15.0

2 years ago

11.14.0

2 years ago

11.13.0

2 years ago

11.12.0

2 years ago

11.11.0

2 years ago

11.9.0

2 years ago

11.10.0

2 years ago

11.6.1

2 years ago

11.6.2

2 years ago

11.8.0

2 years ago

11.7.0

2 years ago

11.7.1

2 years ago

11.6.0

2 years ago

11.5.0

2 years ago

11.4.0

2 years ago

11.3.1

2 years ago

11.2.0

2 years ago

11.2.1

2 years ago

11.3.0

2 years ago

11.1.1

2 years ago

11.1.0

2 years ago

11.0.6

2 years ago

11.0.5

2 years ago

11.0.4

2 years ago

11.0.2

3 years ago

11.0.3

3 years ago

11.0.0

3 years ago

11.0.1

3 years ago

10.7.0

3 years ago

10.6.0

3 years ago

10.5.4

3 years ago

10.5.5

3 years ago

10.5.3

3 years ago

10.5.2

3 years ago

10.5.0

4 years ago

10.5.1

4 years ago

10.4.0

4 years ago

10.3.4

4 years ago

10.3.3

4 years ago

10.3.2

4 years ago

10.3.1

4 years ago

10.3.0

5 years ago

10.2.3

5 years ago

10.2.2

5 years ago

10.2.1

5 years ago

10.2.0

5 years ago

10.1.0

5 years ago

10.0.2

5 years ago

10.0.1

5 years ago

10.0.0

5 years ago

9.13.0

5 years ago

9.12.0

5 years ago

9.11.0

5 years ago

9.10.0

5 years ago

9.9.1

5 years ago

9.9.0

5 years ago

9.8.1

5 years ago

9.8.0

5 years ago

9.7.0

5 years ago

9.6.0

5 years ago

9.5.1

5 years ago

9.5.0

5 years ago

9.4.0

5 years ago

9.3.0

5 years ago

9.2.2

5 years ago

8.2.2

5 years ago

8.2.1

5 years ago

9.2.0

5 years ago

8.2.0

5 years ago

9.1.0

5 years ago

8.1.0

5 years ago

9.0.3

5 years ago

8.0.2

5 years ago

9.0.2

5 years ago

9.0.1

5 years ago

9.0.0

5 years ago

8.0.1

5 years ago

8.0.0

5 years ago

7.5.0

5 years ago

7.4.4

5 years ago

7.4.3

5 years ago

7.4.2

5 years ago

7.4.1

5 years ago

7.4.0

5 years ago

7.3.0

5 years ago

7.2.1

5 years ago

7.2.0

5 years ago

7.1.0

5 years ago

7.0.0

5 years ago

6.5.0

5 years ago

6.4.0

5 years ago

6.3.0

5 years ago

6.2.0

5 years ago

6.1.3

6 years ago

6.1.2

6 years ago

6.1.1

6 years ago

6.1.0

6 years ago

6.0.0

6 years ago

5.3.0

6 years ago

5.2.0

6 years ago

5.1.0

6 years ago

5.0.0

6 years ago

4.13.0

6 years ago

4.12.1

6 years ago

4.12.0

6 years ago

4.10.0

6 years ago

4.9.0

6 years ago

4.8.1

6 years ago

4.8.0

6 years ago

4.7.0

6 years ago

4.6.0

6 years ago

4.5.0

6 years ago

4.4.0

6 years ago

4.3.0

6 years ago

4.2.0

6 years ago

4.1.1

6 years ago

4.1.0

6 years ago

4.0.0

6 years ago

3.2.0

6 years ago

3.1.0

6 years ago

3.0.0

6 years ago

2.17.0

6 years ago

2.16.0

6 years ago

2.15.0

6 years ago

2.14.0

6 years ago

2.13.0

6 years ago

2.12.0

6 years ago

2.11.0

6 years ago

2.10.0

6 years ago

2.9.0

6 years ago

2.8.3

6 years ago

2.8.2

6 years ago

2.8.1

6 years ago

2.8.0

6 years ago

2.7.0

6 years ago

2.6.1

6 years ago

2.6.0

6 years ago

2.5.1

6 years ago

2.5.0

6 years ago

2.4.0

6 years ago

2.3.0

6 years ago

2.2.0

6 years ago

2.1.1

6 years ago

2.1.0

6 years ago

2.0.0

6 years ago

1.0.2

6 years ago

1.0.0

6 years ago

0.7.0

6 years ago

0.6.4

6 years ago

0.6.3

6 years ago

0.6.2

6 years ago

0.6.1

6 years ago

0.6.0

6 years ago

0.5.0

6 years ago

0.4.2

6 years ago

0.4.1

6 years ago

0.4.0

6 years ago

0.3.0

6 years ago

0.2.0

6 years ago

0.1.1

6 years ago

0.1.0

6 years ago

0.0.2

6 years ago

0.0.1

6 years ago