Welcome to JS Bin
Load cached copy from
 
<!DOCTYPE html>
<html>
<head>
  <title>EmberJs Unit Testing</title>
  <meta name="description" content="Custom Test Helpers" />
  <meta charset="utf-8">
  <link rel="stylesheet" href="http://cdnjs.cloudflare.com/ajax/libs/normalize/2.1.0/normalize.css">
  <link rel="stylesheet" href="http://code.jquery.com/qunit/qunit-1.14.0.css">
    <script src="http://code.jquery.com/qunit/qunit-1.14.0.js"></script>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
  <script src="https://rawgithub.com/appendto/jquery-mockjax/master/jquery.mockjax.js"></script>
  <script src="http://builds.handlebarsjs.com.s3.amazonaws.com/handlebars-v1.2.1.js"></script>
  <script src="http://builds.emberjs.com/beta/ember.js"></script>
  <script src="http://builds.emberjs.com/beta/ember-data.js"></script>
  <script src="https://rawgithub.com/rpflorence/ember-qunit/master/dist/globals/main.js"></script>
</head>
<body>
  
  <div id="qunit"></div>
  <div id="qunit-fixture"></div>
  <div id="ember-testing"></div>
  
<script>
/* APP */
App = Ember.Application.create({
  rootElement: '#ember-testing'
});
App.Router.map(function() {
  this.resource('cars', {'path': '/'});
});
App.CarsRoute = Ember.Route.extend({
  model: function(params) {
    return this.store.find('car');
  }
});
App.Car = DS.Model.extend({
  make: DS.attr('string'),
  model: DS.attr('string'),
  validateVIN: function(vin){
    // Bunch of crazy logic here...
    return vin === '2C3HE66G53H197215';
  }
});
Ember.testing = true;
App.setupForTesting();
App.injectTestHelpers();
emq.globalize();
setResolver(Ember.DefaultResolver.create({namespace: App}));
  </script>
  <script type="text/x-handlebars">
    <h2>Cars</h2>
    {{outlet}}
  </script>
  <script type="text/x-handlebars" data-template-name="cars">
    <ul>
    {{#each car in controller}}
      <li class="car_name">{{car.make}} {{car.model}}</li>
    {{/each}}
    </ul>
  </script>
</body>
</html>
 
moduleForModel('Car', "VIN Validation Tests", {
  setup: function(){
    this.model = this.subject();
  }
});
test("empty string is not valid VIN", function(){
  equal(this.model.validateVIN(''), false);
});
test("undefined is not valid VIN", function(){
  equal(this.model.validateVIN(undefined), false);
});
test("null is not valid VIN", function(){
  equal(this.model.validateVIN(null), false);
});
test("0 is not valid VIN", function(){
  equal(this.model.validateVIN(0), false);
});
test("valid vin number", function(){
  ok(this.model.validateVIN('2C3HE66G53H197215'));  
});
Output

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

Dismiss x