2016-04-26 12:45:59 +03:00
|
|
|
/* jshint expr:true */
|
2016-11-14 16:16:51 +03:00
|
|
|
import {expect} from 'chai';
|
|
|
|
import {describeModule, it} from 'ember-mocha';
|
2016-06-30 13:21:47 +03:00
|
|
|
import {A as emberA} from 'ember-array/utils';
|
2016-05-24 15:06:59 +03:00
|
|
|
import NavigationItem from 'ghost-admin/models/navigation-item';
|
2016-04-26 12:45:59 +03:00
|
|
|
|
|
|
|
describeModule(
|
|
|
|
'transform:navigation-settings',
|
|
|
|
'Unit: Transform: navigation-settings',
|
2016-06-11 19:52:36 +03:00
|
|
|
{},
|
2016-04-26 12:45:59 +03:00
|
|
|
function() {
|
|
|
|
it('deserializes navigation json', function () {
|
|
|
|
let transform = this.subject();
|
|
|
|
let serialized = '[{"label":"One","url":"/one"},{"label":"Two","url":"/two"}]';
|
|
|
|
let result = transform.deserialize(serialized);
|
|
|
|
|
|
|
|
expect(result.length).to.equal(2);
|
|
|
|
expect(result[0]).to.be.instanceof(NavigationItem);
|
|
|
|
expect(result[0].get('label')).to.equal('One');
|
|
|
|
expect(result[0].get('url')).to.equal('/one');
|
|
|
|
expect(result[1]).to.be.instanceof(NavigationItem);
|
|
|
|
expect(result[1].get('label')).to.equal('Two');
|
|
|
|
expect(result[1].get('url')).to.equal('/two');
|
|
|
|
});
|
|
|
|
|
|
|
|
it('serializes array of NavigationItems', function () {
|
|
|
|
let transform = this.subject();
|
|
|
|
let deserialized = emberA([
|
|
|
|
NavigationItem.create({label: 'One', url: '/one'}),
|
|
|
|
NavigationItem.create({label: 'Two', url: '/two'})
|
|
|
|
]);
|
|
|
|
let result = transform.serialize(deserialized);
|
|
|
|
|
|
|
|
expect(result).to.equal('[{"label":"One","url":"/one"},{"label":"Two","url":"/two"}]');
|
|
|
|
});
|
|
|
|
}
|
|
|
|
);
|