2018-06-15 11:03:24 -04:00
|
|
|
import Model from "discourse/models/model";
|
2015-04-08 14:17:21 -04:00
|
|
|
|
2017-06-14 13:57:58 -04:00
|
|
|
QUnit.module("model:discourse");
|
2013-09-26 13:03:43 -04:00
|
|
|
|
2018-06-15 11:03:24 -04:00
|
|
|
QUnit.test(
|
|
|
|
"extractByKey: converts a list of hashes into a hash of instances of specified class, indexed by their ids",
|
|
|
|
assert => {
|
|
|
|
var firstObject = { id: "id_1", foo: "foo_1" };
|
|
|
|
var secondObject = { id: "id_2", foo: "foo_2" };
|
2013-09-26 13:03:43 -04:00
|
|
|
|
2018-06-15 11:03:24 -04:00
|
|
|
var actual = Model.extractByKey([firstObject, secondObject], Ember.Object);
|
|
|
|
var expected = {
|
|
|
|
id_1: Ember.Object.create(firstObject),
|
|
|
|
id_2: Ember.Object.create(secondObject)
|
|
|
|
};
|
2013-09-26 13:03:43 -04:00
|
|
|
|
2018-06-15 11:03:24 -04:00
|
|
|
assert.ok(_.isEqual(actual, expected));
|
|
|
|
}
|
|
|
|
);
|
2013-09-26 13:03:43 -04:00
|
|
|
|
2018-06-15 11:03:24 -04:00
|
|
|
QUnit.test(
|
|
|
|
"extractByKey: returns an empty hash if there isn't anything to convert",
|
|
|
|
assert => {
|
|
|
|
assert.deepEqual(
|
|
|
|
Model.extractByKey(),
|
|
|
|
{},
|
|
|
|
"when called without parameters"
|
|
|
|
);
|
|
|
|
assert.deepEqual(
|
|
|
|
Model.extractByKey([]),
|
|
|
|
{},
|
|
|
|
"when called with an empty array"
|
|
|
|
);
|
|
|
|
}
|
|
|
|
);
|