Welcome to JS Bin
Load cached copy from
 
<!DOCTYPE html>
<html>
<head>
  <title>Testing Transitions</title>
  <meta name="description" content="guide: testing-user-interaction-2" />
  <meta charset="utf-8">
  <link rel="stylesheet" href="http://code.jquery.com/qunit/qunit-1.14.0.css">
  <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
  <script src="http://builds.handlebarsjs.com.s3.amazonaws.com/handlebars-v1.2.1.js"></script>
  <script src="http://builds.emberjs.com/release/ember.js"></script>
  <script src="http://code.jquery.com/qunit/qunit-1.14.0.js"></script>
</head>
<body>
  
  <div id="qunit"></div>
  <div id="qunit-fixture"></div>
  <div id="ember-testing"></div>
  <script type="text/x-handlebars">
    <ul>
      <li>{{#link-to "index"}}Home{{/link-to}}</li>
      <li>{{#link-to "profile"  class="profile"}}Profile{{/link-to}}</li>
    </ul>
    {{outlet}}
  </script>
  
    <script type="text/x-handlebars" data-template-name="index">
    <p>Index</p>
  </script>
  <script type="text/x-handlebars" data-template-name="login">
    <p>Login</p>
  </script>
  
  <script type="text/x-handlebars" data-template-name="profile">
    <p>Profile</p>
  </script>
</body>
</html>
 
/* Put your CSS here */
html, body {
    margin: 10px;
}
 
/*=================== APP ====================*/
App = Ember.Application.create();
App.Router.map(function() {
  this.route('login');
  this.route('profile');
});
App.ProfileRoute = Ember.Route.extend({
  beforeModel: function() {
    var user = this.modelFor('application');
    if (Em.isEmpty(user)) {
      this.transitionTo('login');
    }
  }
});
/*=================== TESTS ====================*/
App.setupForTesting();
App.injectTestHelpers();
App.rootElement = '#ember-testing';
module('Integration: Transitions', {
  setup: function() {
    App.reset();
  }
});
test('redirect to login if not authenticated', function() {
  visit('/');
  click('.profile');
  
  andThen(function() {
    equal(currentRouteName(), 'login');
    equal(currentPath(), 'login');
    equal(currentURL(), '/login');
  });
});
Output

You can jump to the latest bin by adding /latest to your URL

Dismiss x