Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import { setupTest } from 'ember-qunit';
- import { setupFactoryGuy } from 'ember-data-factory-guy';
- import { module, test } from 'qunit';
- import EmberModelBelongsTo from 'embercom/transforms/ember-model-belongs-to';
- import { attr } from 'ember-model';
- import IntercomModel from 'embercom/models/types/intercom-model';
- import sinon from 'sinon';
- let FakeModel = IntercomModel.extend({
- id: attr(),
- name: attr(),
- });
- module('Team Core | Transform: EmberModelBelongsTo', function(hooks) {
- setupTest(hooks);
- setupFactoryGuy(hooks);
- hooks.beforeEach(function() {
- this.transform = EmberModelBelongsTo.create();
- });
- test('Deserializing an embedded relation creates ember model instance', function(assert) {
- let data = { id: 1, name: 'my-fake-model' };
- let opts = { modelClass: FakeModel, embedded: true };
- let deserialized = this.transform.deserialize(data, opts);
- assert.equal(deserialized.get('id'), 1);
- assert.equal(deserialized.get('name'), 'my-fake-model');
- });
- test('Deserializing emdedded relation without id adds fake id', function(assert) {
- let data = { name: 'my-fake-model' };
- let opts = { modelClass: FakeModel, embedded: true };
- let deserialized = this.transform.deserialize(data, opts);
- assert.ok(deserialized.get('id') > 0);
- });
- test('Deserializing not emdedded relation loads models', function(assert) {
- let data = 1;
- let opts = { modelClass: FakeModel, embedded: false };
- sinon.stub(FakeModel, 'find');
- this.transform.deserialize(data, opts);
- assert.ok(FakeModel.find.calledWith(1));
- FakeModel.find.restore();
- });
- test('Serializing embedded records', function(assert) {
- let data = { id: 1, name: 'my-fake-model' };
- let opts = { modelClass: FakeModel, embedded: true };
- let deserialized = this.transform.deserialize(data, opts);
- let serialized = this.transform.serialize(deserialized, opts);
- assert.deepEqual(serialized, data);
- });
- test('Serializing reference records', function(assert) {
- let data = 1;
- let opts = { modelClass: FakeModel, embedded: false };
- let deserialized = this.transform.deserialize(data, opts);
- let serialized = this.transform.serialize(deserialized, opts);
- assert.deepEqual(serialized, data);
- });
- test('Deserializing and serializing embedded undefined values', function(assert) {
- let data = undefined;
- let opts = { modelClass: FakeModel, embedded: true };
- let deserialized = this.transform.deserialize(data, opts);
- let serialized = this.transform.serialize(deserialized, opts);
- assert.deepEqual(serialized, data);
- });
- });
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement