Skip to content

Commit 6b11ddb

Browse files
committed
tests/acceptance/reverse-dependencies: Migrate from mirage to @crates-io/msw
1 parent f7f5366 commit 6b11ddb

File tree

1 file changed

+23
-20
lines changed

1 file changed

+23
-20
lines changed

tests/acceptance/reverse-dependencies-test.js

Lines changed: 23 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -1,25 +1,27 @@
11
import { click, currentURL } from '@ember/test-helpers';
22
import { module, test } from 'qunit';
33

4+
import { http, HttpResponse } from 'msw';
5+
46
import { setupApplicationTest } from 'crates-io/tests/helpers';
57

68
import { visit } from '../helpers/visit-ignoring-abort';
79

810
module('Acceptance | /crates/:crate_id/reverse_dependencies', function (hooks) {
9-
setupApplicationTest(hooks);
11+
setupApplicationTest(hooks, { msw: true });
1012

11-
function prepare({ server }) {
12-
let foo = server.create('crate', { name: 'foo' });
13-
server.create('version', { crate: foo });
13+
function prepare({ db }) {
14+
let foo = db.crate.create({ name: 'foo' });
15+
db.version.create({ crate: foo });
1416

15-
let bar = server.create('crate', { name: 'bar' });
16-
server.create('version', { crate: bar });
17+
let bar = db.crate.create({ name: 'bar' });
18+
let barVersion = db.version.create({ crate: bar });
1719

18-
let baz = server.create('crate', { name: 'baz' });
19-
server.create('version', { crate: baz });
20+
let baz = db.crate.create({ name: 'baz' });
21+
let bazVersion = db.version.create({ crate: baz });
2022

21-
server.create('dependency', { crate: foo, version: bar.versions.models[0] });
22-
server.create('dependency', { crate: foo, version: baz.versions.models[0] });
23+
db.dependency.create({ crate: foo, version: barVersion });
24+
db.dependency.create({ crate: foo, version: bazVersion });
2325

2426
return { foo, bar, baz };
2527
}
@@ -30,19 +32,19 @@ module('Acceptance | /crates/:crate_id/reverse_dependencies', function (hooks) {
3032
await visit(`/crates/${foo.name}/reverse_dependencies`);
3133
assert.strictEqual(currentURL(), `/crates/${foo.name}/reverse_dependencies`);
3234
assert.dom('[data-test-row]').exists({ count: 2 });
33-
assert.dom('[data-test-row="0"] [data-test-crate-name]').hasText(bar.name);
34-
assert.dom('[data-test-row="0"] [data-test-description]').hasText(bar.description);
35-
assert.dom('[data-test-row="1"] [data-test-crate-name]').hasText(baz.name);
36-
assert.dom('[data-test-row="1"] [data-test-description]').hasText(baz.description);
35+
assert.dom('[data-test-row="0"] [data-test-crate-name]').hasText(baz.name);
36+
assert.dom('[data-test-row="0"] [data-test-description]').hasText(baz.description);
37+
assert.dom('[data-test-row="1"] [data-test-crate-name]').hasText(bar.name);
38+
assert.dom('[data-test-row="1"] [data-test-description]').hasText(bar.description);
3739
});
3840

3941
test('supports pagination', async function (assert) {
4042
let { foo } = prepare(this);
4143

4244
for (let i = 0; i < 20; i++) {
43-
let crate = this.server.create('crate');
44-
let version = this.server.create('version', { crate });
45-
this.server.create('dependency', { crate: foo, version });
45+
let crate = this.db.crate.create();
46+
let version = this.db.version.create({ crate });
47+
this.db.dependency.create({ crate: foo, version });
4648
}
4749

4850
await visit(`/crates/${foo.name}/reverse_dependencies`);
@@ -67,7 +69,8 @@ module('Acceptance | /crates/:crate_id/reverse_dependencies', function (hooks) {
6769
test('shows a generic error if the server is broken', async function (assert) {
6870
let { foo } = prepare(this);
6971

70-
this.server.get('/api/v1/crates/:crate_id/reverse_dependencies', {}, 500);
72+
let error = HttpResponse.json({}, { status: 500 });
73+
this.worker.use(http.get('/api/v1/crates/:crate_id/reverse_dependencies', () => error));
7174

7275
await visit(`/crates/${foo.name}/reverse_dependencies`);
7376
assert.strictEqual(currentURL(), '/');
@@ -79,8 +82,8 @@ module('Acceptance | /crates/:crate_id/reverse_dependencies', function (hooks) {
7982
test('shows a detailed error if available', async function (assert) {
8083
let { foo } = prepare(this);
8184

82-
let payload = { errors: [{ detail: 'cannot request more than 100 items' }] };
83-
this.server.get('/api/v1/crates/:crate_id/reverse_dependencies', payload, 400);
85+
let error = HttpResponse.json({ errors: [{ detail: 'cannot request more than 100 items' }] }, { status: 400 });
86+
this.worker.use(http.get('/api/v1/crates/:crate_id/reverse_dependencies', () => error));
8487

8588
await visit(`/crates/${foo.name}/reverse_dependencies`);
8689
assert.strictEqual(currentURL(), '/');

0 commit comments

Comments
 (0)