cortado

0.0.47 • Public • Published

Usage

Below is a boilerplate config file - place it in [project_path]/.cortado.js:

module.exports = {
 
  //url to proxy when running tests - important to prevent cross-site security
  //issues
  proxy: "http://localhost:8080",
 
  //tests to run - these are actually loaded in the browser
  scripts: [
    __dirname + "/test/**.js"
  ],
 
  //data-types to cache
  cache: {
    types: ["json", "png"],
    directory: __dirname + "/test2/cache"
  },
 
  //files to watch, then reload
  watch: [
    __dirname + "/public/**",
    __dirname + "/test/**"
  ],
 
  //port to run tests on - open in http://localhost:8083/test
  port: 8083,
 
  //full integration 
  full: true,
 
  //keep the tests alive for dev mode
  keepAlive: true,
 
  //called each time browsers are reloaded to run tests
 
  events: {
    init: function() {
      exec("open http://student.classdojo.dev:8083/test?run");
    }
  }
} 

Next, you can start writing tests using mocha. Here's an example test from [project_path]/tests/login-test.js:

var assert = require("./helpers/assert"),
xpaths     = require("./helpers/xpaths"),
config     = require("./helpers/config"),
utils      = require("./helpers/utils"),
logout     = require("./helpers/logout");
 
describe("login#", function() {
 
 
  before(function(next) {
    actions.
    wait(logout()).
    then(next);
  }); 
 
  var p = {},
  app = xpaths.app,
  user = config.users.withoutPoints.username,
  pass = config.users.withoutPoints.password;
 
  /** 
   */
 
  it("login button toggles properly depending on input data", function(next) {
 
    actions.
 
    //test incomplete
    type(p.un = xpaths.login.usernameInput, "craigers").
    type(p.pn = xpaths.login.passwordInput, "").
 
    wait(assert.enabled(p.sub = app.find().eq("@type", "submit"))).
 
    then(next);
  }); 
  
  /**
   */
   
  it("shows a not found error", function(next) {
    actions.
    type(p.un, String(Date.now())).
    type(p.pn, "password").
    click(p.sub).
    wait(assert.textPresent("Couldn't find a user with that username.")).
    then(next);
  });
});

Finally, go ahead and run cortado:

cortado start

Readme

Keywords

none

Package Sidebar

Install

npm i cortado

Weekly Downloads

39

Version

0.0.47

License

BSD

Last publish

Collaborators

  • architectd
  • crcn