blossom
Version:
Modern, Cross-Platform Application Framework
57 lines (43 loc) • 1.68 kB
JavaScript
// ==========================================================================
// 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 store, Application;
suite("SC.Record Error Methods", {
setup: function() {
Application = {};
Application.Thing = SC.Record.extend({
name: SC.Record.attr(String)
});
SC.RunLoop.begin();
store = SC.Store.create();
var records = [
{ guid: 1, name: 'Thing One' },
{ guid: 2, name: 'Thing Two' }
];
var types = [ Application.Thing, Application.Thing ];
store.loadRecords(types, records);
SC.RunLoop.end();
},
teardown: function() {
store = null;
Application = null;
}
});
test("Verify error methods behave correctly", function() {
var thing1 = store.find(Application.Thing, 1);
var storeKey = thing1.get('storeKey');
var thing2 = store.find(Application.Thing, 2);
SC.RunLoop.begin();
store.writeStatus(storeKey, SC.Record.BUSY_LOADING);
store.dataSourceDidError(storeKey, SC.Record.GENERIC_ERROR);
SC.RunLoop.end();
ok((thing1.get('isError') === true), "isError on thing1 should be true");
ok((thing2.get('isError') === false), "isError on thing2 should be NO");
equals(thing1.get('errorObject'), SC.Record.GENERIC_ERROR,
"get('errorObject') on thing1 should return the correct error object");
equals(thing2.get('errorObject'), null,
"get('errorObject') on thing2 should return null");
});