Skip to content

Commit b945177

Browse files
committed
tests/routes/crate/delete: Migrate from mirage to @crates-io/msw
1 parent 2b25978 commit b945177

File tree

1 file changed

+18
-17
lines changed

1 file changed

+18
-17
lines changed

tests/routes/crate/delete-test.js

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

66
import percySnapshot from '@percy/ember';
7-
import { Response } from 'miragejs';
7+
import { http, HttpResponse } from 'msw';
88

99
import { setupApplicationTest } from 'crates-io/tests/helpers';
1010

1111
import { visit } from '../../helpers/visit-ignoring-abort';
1212

1313
module('Route: crate.delete', function (hooks) {
14-
setupApplicationTest(hooks);
14+
setupApplicationTest(hooks, { msw: true });
1515

1616
function prepare(context) {
17-
let user = context.server.create('user');
17+
let user = context.db.user.create();
1818

19-
let crate = context.server.create('crate', { name: 'foo' });
20-
context.server.create('version', { crate });
21-
context.server.create('crate-ownership', { crate, user });
19+
let crate = context.db.crate.create({ name: 'foo' });
20+
context.db.version.create({ crate });
21+
context.db.crateOwnership.create({ crate, user });
2222

2323
context.authenticateAs(user);
2424

2525
return { user };
2626
}
2727

2828
test('unauthenticated', async function (assert) {
29-
let crate = this.server.create('crate', { name: 'foo' });
30-
this.server.create('version', { crate });
29+
let crate = this.db.crate.create({ name: 'foo' });
30+
this.db.version.create({ crate });
3131

3232
await visit('/crates/foo/delete');
3333
assert.strictEqual(currentURL(), '/crates/foo/delete');
@@ -36,13 +36,13 @@ module('Route: crate.delete', function (hooks) {
3636
});
3737

3838
test('not an owner', async function (assert) {
39-
let user1 = this.server.create('user');
39+
let user1 = this.db.user.create();
4040
this.authenticateAs(user1);
4141

42-
let user2 = this.server.create('user');
43-
let crate = this.server.create('crate', { name: 'foo' });
44-
this.server.create('version', { crate });
45-
this.server.create('crate-ownership', { crate, user: user2 });
42+
let user2 = this.db.user.create();
43+
let crate = this.db.crate.create({ name: 'foo' });
44+
this.db.version.create({ crate });
45+
this.db.crateOwnership.create({ crate, user: user2 });
4646

4747
await visit('/crates/foo/delete');
4848
assert.strictEqual(currentURL(), '/crates/foo/delete');
@@ -69,15 +69,15 @@ module('Route: crate.delete', function (hooks) {
6969
let message = 'Crate foo has been successfully deleted.';
7070
assert.dom('[data-test-notification-message="success"]').hasText(message);
7171

72-
let crate = this.server.schema.crates.findBy({ name: 'foo' });
72+
let crate = this.db.crate.findFirst({ where: { name: { equals: 'foo' } } });
7373
assert.strictEqual(crate, null);
7474
});
7575

7676
test('loading state', async function (assert) {
7777
prepare(this);
7878

7979
let deferred = defer();
80-
this.server.delete('/api/v1/crates/foo', deferred.promise);
80+
this.worker.use(http.delete('/api/v1/crates/foo', () => deferred.promise));
8181

8282
await visit('/crates/foo/delete');
8383
await fillIn('[data-test-reason]', "I don't need this crate anymore");
@@ -87,7 +87,7 @@ module('Route: crate.delete', function (hooks) {
8787
assert.dom('[data-test-confirmation-checkbox]').isDisabled();
8888
assert.dom('[data-test-delete-button]').isDisabled();
8989

90-
deferred.resolve(new Response(204));
90+
deferred.resolve();
9191
await clickPromise;
9292

9393
assert.strictEqual(currentURL(), '/');
@@ -97,7 +97,8 @@ module('Route: crate.delete', function (hooks) {
9797
prepare(this);
9898

9999
let payload = { errors: [{ detail: 'only crates without reverse dependencies can be deleted after 72 hours' }] };
100-
this.server.delete('/api/v1/crates/foo', payload, 422);
100+
let error = HttpResponse.json(payload, { status: 422 });
101+
this.worker.use(http.delete('/api/v1/crates/foo', () => error));
101102

102103
await visit('/crates/foo/delete');
103104
await fillIn('[data-test-reason]', "I don't need this crate anymore");

0 commit comments

Comments
 (0)