Skip to content

Commit 9dba4a6

Browse files
committed
tests/routes/crate/range: Migrate from mirage to @crates-io/msw
1 parent b945177 commit 9dba4a6

File tree

1 file changed

+39
-35
lines changed

1 file changed

+39
-35
lines changed

tests/routes/crate/range-test.js

Lines changed: 39 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,21 @@
11
import { 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('Route | crate.range', function (hooks) {
9-
setupApplicationTest(hooks);
11+
setupApplicationTest(hooks, { msw: true });
1012

1113
test('happy path', async function (assert) {
12-
let crate = this.server.create('crate', { name: 'foo' });
13-
this.server.create('version', { crate, num: '1.0.0' });
14-
this.server.create('version', { crate, num: '1.1.0' });
15-
this.server.create('version', { crate, num: '1.2.0' });
16-
this.server.create('version', { crate, num: '1.2.3' });
14+
let crate = this.db.crate.create({ name: 'foo' });
15+
this.db.version.create({ crate, num: '1.0.0' });
16+
this.db.version.create({ crate, num: '1.1.0' });
17+
this.db.version.create({ crate, num: '1.2.0' });
18+
this.db.version.create({ crate, num: '1.2.3' });
1719

1820
await visit('/crates/foo/range/^1.1.0');
1921
assert.strictEqual(currentURL(), `/crates/foo/1.2.3`);
@@ -23,11 +25,11 @@ module('Route | crate.range', function (hooks) {
2325
});
2426

2527
test('happy path with tilde range', async function (assert) {
26-
let crate = this.server.create('crate', { name: 'foo' });
27-
this.server.create('version', { crate, num: '1.0.0' });
28-
this.server.create('version', { crate, num: '1.1.0' });
29-
this.server.create('version', { crate, num: '1.1.1' });
30-
this.server.create('version', { crate, num: '1.2.0' });
28+
let crate = this.db.crate.create({ name: 'foo' });
29+
this.db.version.create({ crate, num: '1.0.0' });
30+
this.db.version.create({ crate, num: '1.1.0' });
31+
this.db.version.create({ crate, num: '1.1.1' });
32+
this.db.version.create({ crate, num: '1.2.0' });
3133

3234
await visit('/crates/foo/range/~1.1.0');
3335
assert.strictEqual(currentURL(), `/crates/foo/1.1.1`);
@@ -37,11 +39,11 @@ module('Route | crate.range', function (hooks) {
3739
});
3840

3941
test('happy path with cargo style and', async function (assert) {
40-
let crate = this.server.create('crate', { name: 'foo' });
41-
this.server.create('version', { crate, num: '1.4.2' });
42-
this.server.create('version', { crate, num: '1.3.4' });
43-
this.server.create('version', { crate, num: '1.3.3' });
44-
this.server.create('version', { crate, num: '1.2.6' });
42+
let crate = this.db.crate.create({ name: 'foo' });
43+
this.db.version.create({ crate, num: '1.4.2' });
44+
this.db.version.create({ crate, num: '1.3.4' });
45+
this.db.version.create({ crate, num: '1.3.3' });
46+
this.db.version.create({ crate, num: '1.2.6' });
4547

4648
await visit('/crates/foo/range/>=1.3.0, <1.4.0');
4749
assert.strictEqual(currentURL(), `/crates/foo/1.3.4`);
@@ -51,11 +53,11 @@ module('Route | crate.range', function (hooks) {
5153
});
5254

5355
test('ignores yanked versions if possible', async function (assert) {
54-
let crate = this.server.create('crate', { name: 'foo' });
55-
this.server.create('version', { crate, num: '1.0.0' });
56-
this.server.create('version', { crate, num: '1.1.0' });
57-
this.server.create('version', { crate, num: '1.1.1' });
58-
this.server.create('version', { crate, num: '1.2.0', yanked: true });
56+
let crate = this.db.crate.create({ name: 'foo' });
57+
this.db.version.create({ crate, num: '1.0.0' });
58+
this.db.version.create({ crate, num: '1.1.0' });
59+
this.db.version.create({ crate, num: '1.1.1' });
60+
this.db.version.create({ crate, num: '1.2.0', yanked: true });
5961

6062
await visit('/crates/foo/range/^1.0.0');
6163
assert.strictEqual(currentURL(), `/crates/foo/1.1.1`);
@@ -65,11 +67,11 @@ module('Route | crate.range', function (hooks) {
6567
});
6668

6769
test('falls back to yanked version if necessary', async function (assert) {
68-
let crate = this.server.create('crate', { name: 'foo' });
69-
this.server.create('version', { crate, num: '1.0.0', yanked: true });
70-
this.server.create('version', { crate, num: '1.1.0', yanked: true });
71-
this.server.create('version', { crate, num: '1.1.1', yanked: true });
72-
this.server.create('version', { crate, num: '2.0.0' });
70+
let crate = this.db.crate.create({ name: 'foo' });
71+
this.db.version.create({ crate, num: '1.0.0', yanked: true });
72+
this.db.version.create({ crate, num: '1.1.0', yanked: true });
73+
this.db.version.create({ crate, num: '1.1.1', yanked: true });
74+
this.db.version.create({ crate, num: '2.0.0' });
7375

7476
await visit('/crates/foo/range/^1.0.0');
7577
assert.strictEqual(currentURL(), `/crates/foo/1.1.1`);
@@ -88,7 +90,8 @@ module('Route | crate.range', function (hooks) {
8890
});
8991

9092
test('shows an error page if crate fails to load', async function (assert) {
91-
this.server.get('/api/v1/crates/:crate_name', {}, 500);
93+
let error = HttpResponse.json({}, { status: 500 });
94+
this.worker.use(http.get('/api/v1/crates/:crate_name', () => error));
9295

9396
await visit('/crates/foo/range/^3');
9497
assert.strictEqual(currentURL(), '/crates/foo/range/%5E3');
@@ -99,11 +102,11 @@ module('Route | crate.range', function (hooks) {
99102
});
100103

101104
test('shows an error page if no match found', async function (assert) {
102-
let crate = this.server.create('crate', { name: 'foo' });
103-
this.server.create('version', { crate, num: '1.0.0' });
104-
this.server.create('version', { crate, num: '1.1.0' });
105-
this.server.create('version', { crate, num: '1.1.1' });
106-
this.server.create('version', { crate, num: '2.0.0' });
105+
let crate = this.db.crate.create({ name: 'foo' });
106+
this.db.version.create({ crate, num: '1.0.0' });
107+
this.db.version.create({ crate, num: '1.1.0' });
108+
this.db.version.create({ crate, num: '1.1.1' });
109+
this.db.version.create({ crate, num: '2.0.0' });
107110

108111
await visit('/crates/foo/range/^3');
109112
assert.strictEqual(currentURL(), '/crates/foo/range/%5E3');
@@ -114,10 +117,11 @@ module('Route | crate.range', function (hooks) {
114117
});
115118

116119
test('shows an error page if versions fail to load', async function (assert) {
117-
let crate = this.server.create('crate', { name: 'foo' });
118-
this.server.create('version', { crate, num: '3.2.1' });
120+
let crate = this.db.crate.create({ name: 'foo' });
121+
this.db.version.create({ crate, num: '3.2.1' });
119122

120-
this.server.get('/api/v1/crates/:crate_name/versions', {}, 500);
123+
let error = HttpResponse.json({}, { status: 500 });
124+
this.worker.use(http.get('/api/v1/crates/:crate_name/versions', () => error));
121125

122126
await visit('/crates/foo/range/^3');
123127
assert.strictEqual(currentURL(), '/crates/foo/range/%5E3');

0 commit comments

Comments
 (0)