import Model from 'discourse/models/model';

QUnit.module("model:discourse");

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"};

  var actual = Model.extractByKey([firstObject, secondObject], Ember.Object);
  var expected = {
    id_1: Ember.Object.create(firstObject),
    id_2: Ember.Object.create(secondObject)
  };

  assert.ok(_.isEqual(actual, expected));
});

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");
});