mocks.js
function(instance) {
	this._model = instance._model;
	this._instance = instance;
	this.id = instance.id;
	this.eachAttribute = function(cb) { return this._model.eachAttribute(cb); };
	this.eachRelationship = function (cb) { return this._model.eachRelationship(cb); }
	this.attr = function(name) { return this._instance[name]; };
	this.belongsTo = function(name, opts) {
		return (opts.id ? this._instance[name].id : new Snapshot(this._instance[name]));
	};
}
function(instance) {
	this._model = instance._model;
	this._instance = instance;
	this.id = instance.id;
	this.eachAttribute = function(cb) { return this._model.eachAttribute(cb); };
	this.eachRelationship = function (cb) { return this._model.eachRelationship(cb); }
	this.attr = function(name) { return this._instance[name]; };
	this.belongsTo = function(name, opts) {
		return (opts.id ? this._instance[name].id : new Snapshot(this._instance[name]));
	};
}
A mock of the ember Snapshot object