import Badge from 'discourse/models/badge'; QUnit.module("model:badge"); QUnit.test('newBadge', assert => { const badge1 = Badge.create({name: "New Badge"}), badge2 = Badge.create({id: 1, name: "Old Badge"}); assert.ok(badge1.get('newBadge'), "badges without ids are new"); assert.ok(!badge2.get('newBadge'), "badges with ids are not new"); }); QUnit.test('createFromJson array', assert => { const badgesJson = {"badge_types":[{"id":6,"name":"Silver 1"}],"badges":[{"id":1126,"name":"Badge 1","description":null,"badge_type_id":6}]}; const badges = Badge.createFromJson(badgesJson); assert.ok(Array.isArray(badges), "returns an array"); assert.equal(badges[0].get('name'), "Badge 1", "badge details are set"); assert.equal(badges[0].get('badge_type.name'), "Silver 1", "badge_type reference is set"); }); QUnit.test('createFromJson single', assert => { const badgeJson = {"badge_types":[{"id":6,"name":"Silver 1"}],"badge":{"id":1126,"name":"Badge 1","description":null,"badge_type_id":6}}; const badge = Badge.createFromJson(badgeJson); assert.ok(!Array.isArray(badge), "does not returns an array"); }); QUnit.test('updateFromJson', assert => { const badgeJson = {"badge_types":[{"id":6,"name":"Silver 1"}],"badge":{"id":1126,"name":"Badge 1","description":null,"badge_type_id":6}}; const badge = Badge.create({name: "Badge 1"}); badge.updateFromJson(badgeJson); assert.equal(badge.get('id'), 1126, "id is set"); assert.equal(badge.get('badge_type.name'), "Silver 1", "badge_type reference is set"); }); QUnit.test('save', assert => { assert.expect(0); const badge = Badge.create({name: "New Badge", description: "This is a new badge.", badge_type_id: 1}); return badge.save(["name", "description", "badge_type_id"]); }); QUnit.test('destroy', assert => { assert.expect(0); const badge = Badge.create({name: "New Badge", description: "This is a new badge.", badge_type_id: 1}); badge.destroy(); badge.set('id', 3); return badge.destroy(); });