Skip to content

Commit 8bbb8bf

Browse files
committed
tests/components/crate-sidebar/playground-button: Migrate from mirage to @crates-io/msw
1 parent a8be6cf commit 8bbb8bf

File tree

1 file changed

+17
-15
lines changed

1 file changed

+17
-15
lines changed

tests/components/crate-sidebar/playground-button-test.js

Lines changed: 17 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -4,14 +4,14 @@ import { module, test } from 'qunit';
44
import { defer } from 'rsvp';
55

66
import { hbs } from 'ember-cli-htmlbars';
7+
import { http, HttpResponse } from 'msw';
78

89
import { setupRenderingTest } from 'crates-io/tests/helpers';
9-
10-
import setupMirage from '../../helpers/setup-mirage';
10+
import setupMsw from 'crates-io/tests/helpers/setup-msw';
1111

1212
module('Component | CrateSidebar | Playground Button', function (hooks) {
1313
setupRenderingTest(hooks);
14-
setupMirage(hooks);
14+
setupMsw(hooks);
1515

1616
hooks.beforeEach(function () {
1717
let crates = [
@@ -24,12 +24,13 @@ module('Component | CrateSidebar | Playground Button', function (hooks) {
2424
{ name: 'ansi_term', version: '0.11.0', id: 'ansi_term_0_11_0' },
2525
];
2626

27-
this.server.get('https://play.rust-lang.org/meta/crates', { crates });
27+
let response = HttpResponse.json({ crates });
28+
this.worker.use(http.get('https://play.rust-lang.org/meta/crates', () => response));
2829
});
2930

3031
test('button is hidden for unavailable crates', async function (assert) {
31-
let crate = this.server.create('crate', { name: 'foo' });
32-
this.server.create('version', { crate, num: '1.0.0' });
32+
let crate = this.db.crate.create({ name: 'foo' });
33+
this.db.version.create({ crate, num: '1.0.0' });
3334

3435
let store = this.owner.lookup('service:store');
3536
this.crate = await store.findRecord('crate', crate.name);
@@ -41,8 +42,8 @@ module('Component | CrateSidebar | Playground Button', function (hooks) {
4142
});
4243

4344
test('button is visible for available crates', async function (assert) {
44-
let crate = this.server.create('crate', { name: 'aho-corasick' });
45-
this.server.create('version', { crate, num: '1.0.0' });
45+
let crate = this.db.crate.create({ name: 'aho-corasick' });
46+
this.db.version.create({ crate, num: '1.0.0' });
4647

4748
let store = this.owner.lookup('service:store');
4849
this.crate = await store.findRecord('crate', crate.name);
@@ -57,11 +58,11 @@ module('Component | CrateSidebar | Playground Button', function (hooks) {
5758
});
5859

5960
test('button is hidden while Playground request is pending', async function (assert) {
60-
let crate = this.server.create('crate', { name: 'aho-corasick' });
61-
this.server.create('version', { crate, num: '1.0.0' });
61+
let crate = this.db.crate.create({ name: 'aho-corasick' });
62+
this.db.version.create({ crate, num: '1.0.0' });
6263

6364
let deferred = defer();
64-
this.server.get('https://play.rust-lang.org/meta/crates', deferred.promise);
65+
this.worker.use(http.get('https://play.rust-lang.org/meta/crates', () => deferred.promise));
6566

6667
let store = this.owner.lookup('service:store');
6768
this.crate = await store.findRecord('crate', crate.name);
@@ -72,15 +73,16 @@ module('Component | CrateSidebar | Playground Button', function (hooks) {
7273
await waitFor('[data-test-owners]');
7374
assert.dom('[data-test-playground-button]').doesNotExist();
7475

75-
deferred.resolve({ crates: [] });
76+
deferred.resolve();
7677
await settled();
7778
});
7879

7980
test('button is hidden if the Playground request fails', async function (assert) {
80-
let crate = this.server.create('crate', { name: 'aho-corasick' });
81-
this.server.create('version', { crate, num: '1.0.0' });
81+
let crate = this.db.crate.create({ name: 'aho-corasick' });
82+
this.db.version.create({ crate, num: '1.0.0' });
8283

83-
this.server.get('https://play.rust-lang.org/meta/crates', {}, 500);
84+
let error = HttpResponse.json({}, { status: 500 });
85+
this.worker.use(http.get('https://play.rust-lang.org/meta/crates', () => error));
8486

8587
let store = this.owner.lookup('service:store');
8688
this.crate = await store.findRecord('crate', crate.name);

0 commit comments

Comments
 (0)