@poi/plugin-puppet

0.1.6 • Public • Published

@poi/plugin-puppet status beta

Easy automatic (headless) browser testing, powered by Puppeteer.

preview

Install

yarn add @poi/plugin-puppet --dev

Require Poi 12.0.2 and above.

How to use

Add this plugin in poi.config.js:

module.exports = {
  plugins: [
    {
      resolve: '@poi/plugin-puppet'
    }
  ]
}

Now you can bundle your code and run it in browser:

// cowsay.js
import * as cowsay from 'cowsay'

// You can use window.*, since this will be run in Chromium
const text = window.atob('SSBydW4gaW4gYSBicm93c2Vy')

// Everything logged here will be piped to your host terminal
console.log(cowsay.say({ text }))

// Explicitly terminate the script when you are done
puppet.exit()

This command will injectpuppet command to the Poi CLI, you need to use this command in --test mode:

❯ poi puppet --test cowsay.js
 ____________________
< I run in a browser >
 --------------------
        \   ^__^
         \  (oo)\_______
            (__)\       )\/\
                ||----w |
                ||     ||
✔ All tests have passed!

Testing Frameworks

This plugin also works with some popular testing frameworks like Mocha and Tape, check out the CLI usages.

CLI Usages

poi puppet --test [...files]

[...files]

  • Type: string[]
  • Default: **/*.test.{js,ts}

One or more glob patterns for matching test files. node_modules is always excluded.

--no-headless

Don't run Chromium in headless mode.

--framework <framework>

  • Type: string
  • Values: mocha tape

Use a testing framework.

For Mocha: you don't need addtional dependencies, window.mocha is available in your code. Here's the code example.
For Tape: you need to install tape in your project since you need to import it in your code. Here's the code example.

--ui <ui>

  • Type: string
  • Values: bdd tdd qunit
  • Default: bdd

Set user-interface for mocha.

Caveats

This is just for unit testing (maybe for now).

Credits

This plugin is inspired by puppet-run which is built upon Parcel bundler.

Readme

Keywords

none

Package Sidebar

Install

npm i @poi/plugin-puppet

Weekly Downloads

49

Version

0.1.6

License

none

Unpacked Size

12.3 kB

Total Files

11

Last publish

Collaborators

  • egoist
  • poi-owner
  • rem