Skip to content

Commit 8000f7d

Browse files
committed
msw: Migrate handlers to new @msw/data API
1 parent 3d86e5f commit 8000f7d

File tree

109 files changed

+857
-879
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

109 files changed

+857
-879
lines changed

packages/crates-io-msw/handlers/api-tokens/create.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ export default http.put('/api/v1/me/tokens', async ({ request }) => {
1212

1313
let json = await request.json();
1414

15-
let token = db.apiToken.create({
15+
let token = await db.apiToken.create({
1616
user,
1717
name: json.api_token.name,
1818
crateScopes: json.api_token.crate_scopes ?? null,

packages/crates-io-msw/handlers/api-tokens/create.test.js

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -12,14 +12,14 @@ afterEach(() => {
1212
});
1313

1414
test('creates a new API token', async function () {
15-
let user = db.user.create();
16-
db.mswSession.create({ user });
15+
let user = await db.user.create();
16+
await db.mswSession.create({ user });
1717

1818
let body = JSON.stringify({ api_token: { name: 'foooo' } });
1919
let response = await fetch('/api/v1/me/tokens', { method: 'PUT', body });
2020
assert.strictEqual(response.status, 200);
2121

22-
let token = db.apiToken.findMany({})[0];
22+
let token = db.apiToken.findMany(null)[0];
2323
assert.ok(token);
2424

2525
assert.deepEqual(await response.json(), {
@@ -38,8 +38,8 @@ test('creates a new API token', async function () {
3838
});
3939

4040
test('creates a new API token with scopes', async function () {
41-
let user = db.user.create();
42-
db.mswSession.create({ user });
41+
let user = await db.user.create();
42+
await db.mswSession.create({ user });
4343

4444
let body = JSON.stringify({
4545
api_token: {
@@ -51,7 +51,7 @@ test('creates a new API token with scopes', async function () {
5151
let response = await fetch('/api/v1/me/tokens', { method: 'PUT', body });
5252
assert.strictEqual(response.status, 200);
5353

54-
let token = db.apiToken.findMany({})[0];
54+
let token = db.apiToken.findMany(null)[0];
5555
assert.ok(token);
5656

5757
assert.deepEqual(await response.json(), {
@@ -70,8 +70,8 @@ test('creates a new API token with scopes', async function () {
7070
});
7171

7272
test('creates a new API token with expiry date', async function () {
73-
let user = db.user.create();
74-
db.mswSession.create({ user });
73+
let user = await db.user.create();
74+
await db.mswSession.create({ user });
7575

7676
let body = JSON.stringify({
7777
api_token: {
@@ -82,7 +82,7 @@ test('creates a new API token with expiry date', async function () {
8282
let response = await fetch('/api/v1/me/tokens', { method: 'PUT', body });
8383
assert.strictEqual(response.status, 200);
8484

85-
let token = db.apiToken.findMany({})[0];
85+
let token = db.apiToken.findMany(null)[0];
8686
assert.ok(token);
8787

8888
assert.deepEqual(await response.json(), {

packages/crates-io-msw/handlers/api-tokens/delete.js

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -10,12 +10,7 @@ export default http.delete('/api/v1/me/tokens/:tokenId', async ({ params }) => {
1010
}
1111

1212
let { tokenId } = params;
13-
db.apiToken.delete({
14-
where: {
15-
id: { equals: parseInt(tokenId) },
16-
user: { id: { equals: user.id } },
17-
},
18-
});
13+
db.apiToken.delete(q => q.where(token => token.id === parseInt(tokenId) && token.user.id === user.id));
1914

2015
return HttpResponse.json({});
2116
});

packages/crates-io-msw/handlers/api-tokens/delete.test.js

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -3,22 +3,22 @@ import { assert, test } from 'vitest';
33
import { db } from '../../index.js';
44

55
test('revokes an API token', async function () {
6-
let user = db.user.create();
7-
db.mswSession.create({ user });
6+
let user = await db.user.create();
7+
await db.mswSession.create({ user });
88

9-
let token = db.apiToken.create({ user });
9+
let token = await db.apiToken.create({ user });
1010

1111
let response = await fetch(`/api/v1/me/tokens/${token.id}`, { method: 'DELETE' });
1212
assert.strictEqual(response.status, 200);
1313
assert.deepEqual(await response.json(), {});
1414

15-
let tokens = db.apiToken.findMany({});
15+
let tokens = db.apiToken.findMany(null);
1616
assert.strictEqual(tokens.length, 0);
1717
});
1818

1919
test('returns an error if unauthenticated', async function () {
20-
let user = db.user.create();
21-
let token = db.apiToken.create({ user });
20+
let user = await db.user.create();
21+
let token = await db.apiToken.create({ user });
2222

2323
let response = await fetch(`/api/v1/me/tokens/${token.id}`, { method: 'DELETE' });
2424
assert.strictEqual(response.status, 403);

packages/crates-io-msw/handlers/api-tokens/get.js

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -12,12 +12,7 @@ export default http.get('/api/v1/me/tokens/:tokenId', async ({ params }) => {
1212
}
1313

1414
let { tokenId } = params;
15-
let token = db.apiToken.findFirst({
16-
where: {
17-
id: { equals: parseInt(tokenId) },
18-
user: { id: { equals: user.id } },
19-
},
20-
});
15+
let token = db.apiToken.findFirst(q => q.where(token => token.id === parseInt(tokenId) && token.user.id === user.id));
2116
if (!token) return notFound();
2217

2318
return HttpResponse.json({

packages/crates-io-msw/handlers/api-tokens/get.test.js

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -3,10 +3,10 @@ import { assert, test } from 'vitest';
33
import { db } from '../../index.js';
44

55
test('returns the requested token', async function () {
6-
let user = db.user.create();
7-
db.mswSession.create({ user });
6+
let user = await db.user.create();
7+
await db.mswSession.create({ user });
88

9-
let token = db.apiToken.create({
9+
let token = await db.apiToken.create({
1010
user,
1111
crateScopes: ['serde', 'serde-*'],
1212
endpointScopes: ['publish-update'],
@@ -28,8 +28,8 @@ test('returns the requested token', async function () {
2828
});
2929

3030
test('returns 404 if token not found', async function () {
31-
let user = db.user.create();
32-
db.mswSession.create({ user });
31+
let user = await db.user.create();
32+
await db.mswSession.create({ user });
3333

3434
let response = await fetch('/api/v1/me/tokens/42');
3535
assert.strictEqual(response.status, 404);

packages/crates-io-msw/handlers/api-tokens/list.js

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -18,10 +18,7 @@ export default http.get('/api/v1/me/tokens', async ({ request }) => {
1818
}
1919

2020
let apiTokens = db.apiToken
21-
.findMany({
22-
where: { user: { id: { equals: user.id } } },
23-
orderBy: { id: 'desc' },
24-
})
21+
.findMany(q => q.where(token => token.user.id === user.id), { orderBy: { id: 'desc' } })
2522
.filter(token => !token.expiredAt || new Date(token.expiredAt) > expiredAfter);
2623

2724
return HttpResponse.json({

packages/crates-io-msw/handlers/api-tokens/list.test.js

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -12,18 +12,18 @@ afterEach(() => {
1212
});
1313

1414
test('returns the list of API token for the authenticated `user`', async function () {
15-
let user = db.user.create();
16-
db.mswSession.create({ user });
15+
let user = await db.user.create();
16+
await db.mswSession.create({ user });
1717

18-
db.apiToken.create({
18+
await db.apiToken.create({
1919
user,
2020
createdAt: '2017-11-19T12:59:22Z',
2121
crateScopes: ['serde', 'serde-*'],
2222
endpointScopes: ['publish-update'],
2323
});
24-
db.apiToken.create({ user, createdAt: '2017-11-19T13:59:22Z', expiredAt: '2023-11-20T10:59:22Z' });
25-
db.apiToken.create({ user, createdAt: '2017-11-19T14:59:22Z' });
26-
db.apiToken.create({ user, createdAt: '2017-11-19T15:59:22Z', expiredAt: '2017-11-20T10:59:22Z' });
24+
await db.apiToken.create({ user, createdAt: '2017-11-19T13:59:22Z', expiredAt: '2023-11-20T10:59:22Z' });
25+
await db.apiToken.create({ user, createdAt: '2017-11-19T14:59:22Z' });
26+
await db.apiToken.create({ user, createdAt: '2017-11-19T15:59:22Z', expiredAt: '2017-11-20T10:59:22Z' });
2727

2828
let response = await fetch('/api/v1/me/tokens');
2929
assert.strictEqual(response.status, 200);
@@ -61,8 +61,8 @@ test('returns the list of API token for the authenticated `user`', async functio
6161
});
6262

6363
test('empty list case', async function () {
64-
let user = db.user.create();
65-
db.mswSession.create({ user });
64+
let user = await db.user.create();
65+
await db.mswSession.create({ user });
6666

6767
let response = await fetch('/api/v1/me/tokens');
6868
assert.strictEqual(response.status, 200);

packages/crates-io-msw/handlers/categories/get.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ import { notFound } from '../../utils/handlers.js';
66

77
export default http.get('/api/v1/categories/:category_id', ({ params }) => {
88
let catId = params.category_id;
9-
let category = db.category.findFirst({ where: { id: { equals: catId } } });
9+
let category = db.category.findFirst(q => q.where({ id: catId }));
1010
if (!category) {
1111
return notFound();
1212
}

packages/crates-io-msw/handlers/categories/get.test.js

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ test('returns 404 for unknown categories', async function () {
99
});
1010

1111
test('returns a category object for known categories', async function () {
12-
db.category.create({
12+
await db.category.create({
1313
category: 'no-std',
1414
description: 'Crates that are able to function without the Rust standard library.',
1515
});
@@ -29,21 +29,21 @@ test('returns a category object for known categories', async function () {
2929
});
3030

3131
test('calculates `crates_cnt` correctly', async function () {
32-
let cli = db.category.create({ category: 'cli' });
33-
Array.from({ length: 7 }, () => db.crate.create({ categories: [cli] }));
34-
let notCli = db.category.create({ category: 'not-cli' });
35-
Array.from({ length: 3 }, () => db.crate.create({ categories: [notCli] }));
32+
let testCli = await db.category.create({ category: 'test-cli-category' });
33+
await Promise.all(Array.from({ length: 7 }, () => db.crate.create({ categories: [testCli] })));
34+
let notTestCli = await db.category.create({ category: 'not-test-cli' });
35+
await Promise.all(Array.from({ length: 3 }, () => db.crate.create({ categories: [notTestCli] })));
3636

37-
let response = await fetch('/api/v1/categories/cli');
37+
let response = await fetch('/api/v1/categories/test-cli-category');
3838
assert.strictEqual(response.status, 200);
3939
assert.deepEqual(await response.json(), {
4040
category: {
41-
category: 'cli',
41+
category: 'test-cli-category',
4242
crates_cnt: 7,
4343
created_at: '2010-06-16T21:30:45Z',
44-
description: 'This is the description for the category called "cli"',
45-
id: 'cli',
46-
slug: 'cli',
44+
description: 'This is the description for the category called "test-cli-category"',
45+
id: 'test-cli-category',
46+
slug: 'test-cli-category',
4747
},
4848
});
4949
});

0 commit comments

Comments
 (0)