text: import UserBadge from "discourse/models/user-badge";
  import badgeFixtures from "fixtures/user-badges";
  
  QUnit.module("model:user-badge");
  
  QUnit.test("createFromJson single", assert => {
    const userBadge = UserBadge.createFromJson(badgeFixtures["/user_badges"]);
    assert.ok(!Array.isArray(userBadge), "does not return an array");
    assert.equal(
      userBadge.get("badge.name"),
      "Badge 2",
      "badge reference is set"
    );
    assert.equal(
      userBadge.get("badge.badge_type.name"),
      "Silver 2",
      "badge.badge_type reference is set"
    );
    assert.equal(
      userBadge.get("granted_by.username"),
      "anne3",
      "granted_by reference is set"
    );
  });
  
  QUnit.test("createFromJson array", assert => {
    const userBadges = UserBadge.createFromJson(
      badgeFixtures["/user-badges/:username"]
    );
    assert.ok(Array.isArray(userBadges), "returns an array");
    assert.equal(
      userBadges[0].get("granted_by"),
      null,
      "granted_by reference is not set when null"
    );
  });
  
  QUnit.test("findByUsername", assert => {
    return UserBadge.findByUsername("anne3").then(function(badges) {
      assert.ok(Array.isArray(badges), "returns an array");
    });
  });
  
  QUnit.test("findByBadgeId", assert => {
    return UserBadge.findByBadgeId(880).then(function(badges) {
      assert.ok(Array.isArray(badges), "returns an array");
    });
  });
  
  QUnit.test("grant", assert => {
    return UserBadge.grant(1, "username").then(function(userBadge) {
      assert.ok(!Array.isArray(userBadge), "does not return an array");
    });
  });
  
  QUnit.test("revoke", assert => {
    assert.expect(0);
    const userBadge = UserBadge.create({ id: 1 });
    return userBadge.revoke();
  });
  