blossom
Version:
Modern, Cross-Platform Application Framework
63 lines (48 loc) • 1.81 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.Store 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 readError() returns correct errors", function() {
var thing1 = store.find(Application.Thing, 1);
var storeKey = thing1.get('storeKey');
SC.RunLoop.begin();
store.writeStatus(storeKey, SC.Record.BUSY_LOADING);
store.dataSourceDidError(storeKey, SC.Record.GENERIC_ERROR);
SC.RunLoop.end();
equals(store.readError(storeKey), SC.Record.GENERIC_ERROR,
"store.readError(storeKey) should return the correct error object");
});
test("Verify readQueryError() returns correct errors", function() {
var q = SC.Query.local(Application.Thing);
var things = store.find(q);
SC.RunLoop.begin();
things.set('status', SC.Record.BUSY_LOADING);
store.dataSourceDidErrorQuery(q, SC.Record.GENERIC_ERROR);
SC.RunLoop.end();
equals(store.readQueryError(q), SC.Record.GENERIC_ERROR,
"store.readQueryError(q) should return the correct error object");
});