Socket
Socket
Sign inDemoInstall

github.com/mike-north/ember-qunit-decorators

Package Overview
Dependencies
0
Alerts
File Explorer

Install Socket

Detect and block malicious and high-risk dependencies

Install

    github.com/mike-north/ember-qunit-decorators


Version published

Readme

Source

ember-qunit-decorators

Build Status Version

Use ES6 or TypeScript decorators for QUnit tests in your Ember app

Installation

ember install ember-qunit-decorators

Usage

When present in an Ember.js project, this addon automatically provides support for qunit-decorators. Details about the usage of the @suite and @test decorators can be found in the qunit-decorators README

This addon provides three base classes that make working with ember-qunit and @ember/test-helpers easy.

Blueprints

Test generators for all standard ember.js objects are included, so you should get tests like the examples below automatically, as a result of generating Components, Routes, Services and more!

You may optionally generate tests explicitly by using the generators directly

ember g component-test

By default, if you have ember-cli-typescript installed in your project, the tests will be generated in TypeScript, otherwise they'll be in JavaScript. You may explcitly specify which language the tests should be in with --inJs or --inTs flags

ember g acceptance-test --inTs

Example Tests

Unit Test

import { suite, test } from 'qunit-decorators';
import { EmberTest } from 'ember-qunit-decorators/test-support';

@suite('Unit | Route | index')
export class IndexRouteTest extends EmberTest {

  @test 'it exists'(assert: Assert) {
    let route = this.owner.lookup('route:index');
    assert.ok(route);
  }
}

Integration Test

import { suite, test } from "qunit-decorators";
import { render } from "@ember/test-helpers";
import hbs from "htmlbars-inline-precompile";
import { EmberRenderingTest } from "ember-qunit-decorators/test-support";

@suite("Integration | Helper | capitalize")
export class CapitalizeHelperTest extends EmberRenderingTest {

  @test async 'it renders'(assert: Assert) {
    this.set("inputValue", "hello");

    await render(hbs`{{capitalize inputValue}}`);

    assert.equal(('' + this.element.textContent).trim(), "Hello");
  }
}

Acceptance Test

import { suite, test } from 'qunit-decorators';
import { visit, currentURL } from '@ember/test-helpers';
import { EmberApplicationTest } from 'ember-qunit-decorators/test-support';

@suite('Acceptance | index')
export class IndexAcceptanceTest extends EmberApplicationTest {

  @test async 'visiting / '(assert: Assert) {
    await visit('/');

    assert.equal(currentURL(), '/');
  }
}

Contributing

Installation

  • git clone <repository-url>
  • cd ember-qunit-decorators
  • npm install

Linting

  • npm run lint:js
  • npm run lint:js -- --fix

Running tests

  • ember test – Runs the test suite on the current Ember version
  • ember test --server – Runs the test suite in "watch mode"
  • ember try:each – Runs the test suite against multiple Ember versions

Running the dummy application

For more information on using ember-cli, visit https://ember-cli.com/.

License

This project is licensed under the MIT License.

FAQs

Last updated on 05 Dec 2018

Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc