Skip to content

Commit 234a9ac

Browse files
committed
Add a unit test for notYankedOrIsOwner (authored by @efx).
1 parent 3067604 commit 234a9ac

File tree

1 file changed

+35
-0
lines changed

1 file changed

+35
-0
lines changed
Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
import { module, test } from 'qunit';
2+
import { setupTest } from 'ember-qunit';
3+
import { A } from '@ember/array';
4+
import Service from '@ember/service';
5+
6+
module('Unit | Controller | crate/version', function(hooks) {
7+
setupTest(hooks);
8+
const userId = 1;
9+
// stub the session service
10+
// https://guides.emberjs.com/release/testing/testing-components/#toc_stubbing-services
11+
const sessionStub = Service.extend();
12+
13+
hooks.beforeEach(function() {
14+
sessionStub.currentUser = { id: userId };
15+
this.owner.register('service:session', sessionStub);
16+
});
17+
18+
test('notYankedOrIsOwner is true when conditions fulfilled', function(assert) {
19+
assert.expect(2);
20+
let controller = this.owner.lookup('controller:crate/version');
21+
controller.model = { yanked: false };
22+
controller.crate = { owner_user: A([{ id: userId }]) };
23+
assert.ok(controller);
24+
assert.ok(controller.notYankedOrIsOwner);
25+
});
26+
27+
test('notYankedOrIsOwner is false when conditions fulfilled', function(assert) {
28+
assert.expect(2);
29+
let controller = this.owner.lookup('controller:crate/version');
30+
controller.model = { yanked: true };
31+
controller.crate = { owner_user: A([{ id: userId }]) };
32+
assert.ok(controller);
33+
assert.notOk(controller.notYankedOrIsOwner);
34+
});
35+
});

0 commit comments

Comments
 (0)