Book Image

Ember.js Cookbook

By : Erik Hanchett
Book Image

Ember.js Cookbook

By: Erik Hanchett

Overview of this book

Ember.js is an open source JavaScript framework that will make you more productive. It uses common idioms and practices, making it simple to create amazing single-page applications. It also lets you create code in a modular way using the latest JavaScript features. Not only that, it has a great set of APIs to get any task done. The Ember.js community is welcoming newcomers and is ready to help you when needed. This book provides in-depth explanations on how to use the Ember.js framework to take you from beginner to expert. You’ll start with some basic topics and by the end of the book, you’ll know everything you need to know to build a fully operational Ember application. We’ll begin by explaining key points on how to use the Ember.js framework and the associated tools. You’ll learn how to effectively use Ember CLI and how to create and deploy your application. We’ll take a close look at the Ember object model and templates by examining bindings and observers. We’ll then move onto Ember components, models, and Ember Data. We’ll show you examples on how to connect to RESTful databases. Next we’ll get to grips with testing with integration and acceptance tests using QUnit. We will conclude by covering authentication, services, and Ember add-ons. We’ll explore advanced topics such as services and initializers, and how to use them together to build real-time applications.
Table of Contents (18 chapters)
Ember.js Cookbook
Credits
About the Author
About the Reviewer
www.PacktPub.com
Preface
Index

Testing routes


Testing routes can be done either by acceptance tests or unit tests. In this example, we'll create a simple unit test for a route.

How to do it...

  1. In a new application, generate a new students route:

    $ ember g route students
    

    This command will generate the route code for students.

  2. Edit the students route information and add a new property:

    // app/routes/students.js
    import Ember from 'ember';
    
    export default Ember.Route.extend({
        someText: 'someText'
    });

    This route has a property called someText.

  3. Edit the students-tests.js file in the tests/unit/routes folder:

    // tests/unit/routes/students-test.js
    import { moduleFor, test } from 'ember-qunit';
    
    moduleFor('route:students', 'Unit | Route | students', {
        // Specify the other units that are required for this test.
    });
    
    test('check prop and route exists', function(assert) {
        let route = this.subject();
        assert.expect(3);
        assert.equal(route.get('someText'),'someText');
        route.set('someText','otherText');
        assert.equal...