Coder Social home page Coder Social logo

xcambar / ember-cli-acceptance-test-helpers Goto Github PK

View Code? Open in Web Editor NEW

This project forked from 201-created/ember-cli-acceptance-test-helpers

0.0 3.0 0.0 95 KB

A set of useful test helpers for ember acceptance tests.

License: MIT License

JavaScript 93.30% HTML 6.39% CSS 0.09% GCC Machine Description 0.22%

ember-cli-acceptance-test-helpers's Introduction

Ember Test Helpers

Build Status

A set of useful helper for ember-cli acceptance tests. Includes expectComponent, expectElement, and clickComponent.

Note

expectComponent

expectComponent(componentName, count, options)

Passes when the component exists in the container and is in the DOM.

count optional, defaults to null. null means 'at least one'. If an integer count is provided, there must be exactly that many components in the DOM.

If options.contains is set, the expectation only passes if the component is in the DOM and contains the string from options.contains.

expectComponent can also be used in component integration tests. See expect-component-hbs-integration-test.js for an example. Note that ember-qunit version 0.4.7 or greater is required to make the component integration tests work properly.

clickComponent

clickComponent(componentName, selector)

Clicks the CSS selector inside the component(s) of type componentName in the DOM.

expectElement

expectElement(selector, count, options)

Expect that count instances of the selector are in the DOM.

count is optional and defaults to 1.

If options.contains is set, the expectation will only pass if there are exactly count instances of the selector that include the string value of options.contains.

If options.message is set, the message will be displayed in the test results instead of the default, Found 0 of '.selector' but expected 1.

expectNoElement

expectNoElement(selector, options)

A convenience for expectElement when the count is 0.

options can include a contains and/or a message key.

Mocha

If you want to use this with ember-cli-mocha, try this fork.

Setup

  • Run ember generate ember-cli-acceptance-test-helpers
  • Commit any file changes made if your application is under source code management

The generator makes changes to files assuming the structure of them has not changed much from the default version created during the initial Ember application creation. If too many changes have been made you will need to manually make the changes below instead:

  • Add ember-test-helpers to your package.json:
  • npm install --save-dev ember-cli-acceptance-test-helpers
  • import the registerTestHelpers function in your tests/helpers/start-app.js:
  • Add this line to to the top of start-app.js:
    • import registerAcceptanceTestHelpers from './201-created/register-acceptance-test-helpers';
  • Register the test helpers:
    • Add this line to start-app.js before App.injectTestHelpers
    • registerAcceptanceTestHelpers();
  • Update your tests/.jshintrc file to notify it of the new globals that these helpers have added. Add the following lines to the predef array (after "currentRouteName"):
"expectComponent",
"clickComponent",
"expectElement",
"expectNoElement",
  • You may need to restart your ember server so that it picks up the new .jshintrc file.

Releasing Updates to NPM

If you have errors running npm adduser, you may have previously set your npm registry to a read-only or non-standard URL.

  • Run this command to check npm config get registry
  • Run this command to reset:npm config set registry https://registry.npmjs.org/

more docs

To do

  • clickLink
  • test/document hasClass option
  • a within(selector/component, block&) helper
  • every expectation only adds 1 expectation, so it's easy to use expect(X)

ember-cli-acceptance-test-helpers's People

Contributors

alexdiliberto avatar amyrlam avatar backspace avatar bantic avatar bryancrotaz avatar ember-tomster avatar eriktrom avatar givanse avatar iezer avatar notmessenger avatar tundal45 avatar

Watchers

 avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.