Sha256: 6d1e9f3f1700e490d4cfaf43454818ad4dc39a5f30126f1eded2f8a246b7c079

Contents?: true

Size: 1.71 KB

Versions: 24

Compression:

Stored size: 1.71 KB

Contents

// ==========================================================================
// Project:   SproutCore - JavaScript Application Framework
// Copyright: ©2006-2011 Apple Inc. and contributors.
// License:   Licensed under MIT license (see license.js)
// ==========================================================================
/*globals module ok equals same test MyApp */

var MyApp, dataSource;
module("SC.Record core methods", {
  setup: function() {
    dataSource = SC.DataSource.create({

      gotParams: NO,
      wasCommitted: NO,

      createRecord: function(store, storeKey, params) {
        this.wasCommitted = YES;
        this.gotParams = params && params['param1'] ? YES: NO;
      }});

    MyApp = SC.Object.create({
      store: SC.Store.create().from(dataSource)
    })  ;

    MyApp.Foo = SC.Record.extend({});
    MyApp.json = {
      foo: "bar",
      number: 123,
      bool: YES,
      array: [1,2,3],
      guid: 1
    };

    SC.RunLoop.begin();
    MyApp.foo = MyApp.store.createRecord(MyApp.Foo, MyApp.json);
    SC.RunLoop.end();

  }
});

test("statusString", function() {
  equals(MyApp.foo.statusString(), 'READY_NEW', 'status string should be READY_NEW');
});

test("Can commitRecord() specific SC.Record instance", function() {

  MyApp.foo.set('foo', 'foobar');

  // commit the new record
  MyApp.foo.commitRecord({ param1: 'value1' });

  equals(dataSource.wasCommitted, YES, 'Record was committed');
  equals(dataSource.gotParams, YES, 'Params were properly passed through commitRecord');

});

test("JSON encoding an SC.Record should encode the attributes", function(){
  var str = SC.json.encode(MyApp.foo);
  var result = SC.json.decode(str);

  same(MyApp.json, result, "original = encoded record");
});

Version data entries

24 entries across 24 versions & 1 rubygems

Version Path
sproutcore-1.11.0 lib/frameworks/sproutcore/frameworks/datastore/tests/models/record/core_methods.js
sproutcore-1.11.0.rc3 lib/frameworks/sproutcore/frameworks/datastore/tests/models/record/core_methods.js
sproutcore-1.11.0.rc2 lib/frameworks/sproutcore/frameworks/datastore/tests/models/record/core_methods.js
sproutcore-1.11.0.rc1 lib/frameworks/sproutcore/frameworks/datastore/tests/models/record/core_methods.js
sproutcore-1.10.3.1 lib/frameworks/sproutcore/frameworks/datastore/tests/models/record/core_methods.js
sproutcore-1.10.2 lib/frameworks/sproutcore/frameworks/datastore/tests/models/record/core_methods.js
sproutcore-1.10.1 lib/frameworks/sproutcore/frameworks/datastore/tests/models/record/core_methods.js
sproutcore-1.10.0 lib/frameworks/sproutcore/frameworks/datastore/tests/models/record/core_methods.js
sproutcore-1.10.0.rc.3 lib/frameworks/sproutcore/frameworks/datastore/tests/models/record/core_methods.js
sproutcore-1.10.0.rc.2 lib/frameworks/sproutcore/frameworks/datastore/tests/models/record/core_methods.js
sproutcore-1.10.0.rc.1 lib/frameworks/sproutcore/frameworks/datastore/tests/models/record/core_methods.js
sproutcore-1.9.2 lib/frameworks/sproutcore/frameworks/datastore/tests/models/record/core_methods.js
sproutcore-1.9.1 lib/frameworks/sproutcore/frameworks/datastore/tests/models/record/core_methods.js
sproutcore-1.9.0 lib/frameworks/sproutcore/frameworks/datastore/tests/models/record/core_methods.js
sproutcore-1.8.2.1 lib/frameworks/sproutcore/frameworks/datastore/tests/models/record/core_methods.js
sproutcore-1.8.1 lib/frameworks/sproutcore/frameworks/datastore/tests/models/record/core_methods.js
sproutcore-1.8.0 lib/frameworks/sproutcore/frameworks/datastore/tests/models/record/core_methods.js
sproutcore-1.7.1.beta-java lib/frameworks/sproutcore/frameworks/datastore/tests/models/record/core_methods.js
sproutcore-1.7.1.beta lib/frameworks/sproutcore/frameworks/datastore/tests/models/record/core_methods.js
sproutcore-1.6.0.1-java lib/frameworks/sproutcore/frameworks/datastore/tests/models/record/core_methods.js