Skip to content

Commit c70cc57

Browse files
committed
tests/models/version: Migrate from mirage to @crates-io/msw
1 parent f9051e4 commit c70cc57

File tree

1 file changed

+35
-34
lines changed

1 file changed

+35
-34
lines changed

tests/models/version-test.js

Lines changed: 35 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,21 @@
11
import { module, test } from 'qunit';
22

3-
import { setupMirage, setupTest } from 'crates-io/tests/helpers';
3+
import { setupTest } from 'crates-io/tests/helpers';
4+
import setupMsw from 'crates-io/tests/helpers/setup-msw';
45

56
module('Model | Version', function (hooks) {
67
setupTest(hooks);
7-
setupMirage(hooks);
8+
setupMsw(hooks);
89

910
hooks.beforeEach(function () {
1011
this.store = this.owner.lookup('service:store');
1112
});
1213

1314
test('isNew', async function (assert) {
14-
let { server, store } = this;
15+
let { db, store } = this;
1516

16-
let crate = server.create('crate');
17-
server.create('version', { crate, created_at: '2010-06-16T21:30:45Z' });
17+
let crate = db.crate.create();
18+
db.version.create({ crate, created_at: '2010-06-16T21:30:45Z' });
1819

1920
let crateRecord = await store.findRecord('crate', crate.name);
2021
let versions = (await crateRecord.versions).slice();
@@ -69,10 +70,10 @@ module('Model | Version', function (hooks) {
6970

7071
module('semver', function () {
7172
async function prepare(context, { num }) {
72-
let { server, store } = context;
73+
let { db, store } = context;
7374

74-
let crate = server.create('crate');
75-
server.create('version', { crate, num });
75+
let crate = db.crate.create();
76+
db.version.create({ crate, num });
7677

7778
let crateRecord = await store.findRecord('crate', crate.name);
7879
let versions = (await crateRecord.versions).slice();
@@ -161,9 +162,9 @@ module('Model | Version', function (hooks) {
161162
'0.1.1',
162163
];
163164

164-
let crate = this.server.create('crate');
165-
for (let num of nums) {
166-
this.server.create('version', { crate, num });
165+
let crate = this.db.crate.create();
166+
for (let num of nums.toReversed()) {
167+
this.db.version.create({ crate, num });
167168
}
168169

169170
let crateRecord = await this.store.findRecord('crate', crate.name);
@@ -192,63 +193,63 @@ module('Model | Version', function (hooks) {
192193
});
193194

194195
test('ignores yanked versions', async function (assert) {
195-
let crate = this.server.create('crate');
196-
this.server.create('version', { crate, num: '0.4.0' });
197-
this.server.create('version', { crate, num: '0.4.1' });
198-
this.server.create('version', { crate, num: '0.4.2', yanked: true });
196+
let crate = this.db.crate.create();
197+
this.db.version.create({ crate, num: '0.4.0' });
198+
this.db.version.create({ crate, num: '0.4.1' });
199+
this.db.version.create({ crate, num: '0.4.2', yanked: true });
199200

200201
let crateRecord = await this.store.findRecord('crate', crate.name);
201202
let versions = (await crateRecord.loadVersionsTask.perform()).slice();
202203

203204
assert.deepEqual(
204205
versions.map(it => ({ num: it.num, isHighestOfReleaseTrack: it.isHighestOfReleaseTrack })),
205206
[
206-
{ num: '0.4.0', isHighestOfReleaseTrack: false },
207-
{ num: '0.4.1', isHighestOfReleaseTrack: true },
208207
{ num: '0.4.2', isHighestOfReleaseTrack: false },
208+
{ num: '0.4.1', isHighestOfReleaseTrack: true },
209+
{ num: '0.4.0', isHighestOfReleaseTrack: false },
209210
],
210211
);
211212
});
212213

213214
test('handles newly released versions correctly', async function (assert) {
214-
let crate = this.server.create('crate');
215-
this.server.create('version', { crate, num: '0.4.0' });
216-
this.server.create('version', { crate, num: '0.4.1' });
215+
let crate = this.db.crate.create();
216+
this.db.version.create({ crate, num: '0.4.0' });
217+
this.db.version.create({ crate, num: '0.4.1' });
217218

218219
let crateRecord = await this.store.findRecord('crate', crate.name);
219220
let versions = (await crateRecord.loadVersionsTask.perform()).slice();
220221

221222
assert.deepEqual(
222223
versions.map(it => ({ num: it.num, isHighestOfReleaseTrack: it.isHighestOfReleaseTrack })),
223224
[
224-
{ num: '0.4.0', isHighestOfReleaseTrack: false },
225225
{ num: '0.4.1', isHighestOfReleaseTrack: true },
226+
{ num: '0.4.0', isHighestOfReleaseTrack: false },
226227
],
227228
);
228229

229-
this.server.create('version', { crate, num: '0.4.2' });
230-
this.server.create('version', { crate, num: '0.4.3', yanked: true });
230+
this.db.version.create({ crate, num: '0.4.2' });
231+
this.db.version.create({ crate, num: '0.4.3', yanked: true });
231232
crateRecord = await this.store.findRecord('crate', crate.name, { reload: true });
232233
versions = (await crateRecord.loadVersionsTask.perform({ reload: true })).slice();
233234

234235
assert.deepEqual(
235236
versions.map(it => ({ num: it.num, isHighestOfReleaseTrack: it.isHighestOfReleaseTrack })),
236237
[
237-
{ num: '0.4.0', isHighestOfReleaseTrack: false },
238-
{ num: '0.4.1', isHighestOfReleaseTrack: false },
239-
{ num: '0.4.2', isHighestOfReleaseTrack: true },
240238
{ num: '0.4.3', isHighestOfReleaseTrack: false },
239+
{ num: '0.4.2', isHighestOfReleaseTrack: true },
240+
{ num: '0.4.1', isHighestOfReleaseTrack: false },
241+
{ num: '0.4.0', isHighestOfReleaseTrack: false },
241242
],
242243
);
243244
});
244245
});
245246

246247
module('featuresList', function () {
247248
async function prepare(context, { features }) {
248-
let { server, store } = context;
249+
let { db, store } = context;
249250

250-
let crate = server.create('crate');
251-
server.create('version', { crate, features });
251+
let crate = db.crate.create();
252+
db.version.create({ crate, features });
252253

253254
let crateRecord = await store.findRecord('crate', crate.name);
254255
let versions = (await crateRecord.versions).slice();
@@ -260,8 +261,8 @@ module('Model | Version', function (hooks) {
260261
assert.deepEqual(version.featureList, []);
261262
});
262263

263-
test('`features: null` results in empty list', async function (assert) {
264-
let version = await prepare(this, { features: null });
264+
test('`features: undefined` results in empty list', async function (assert) {
265+
let version = await prepare(this, { features: undefined });
265266
assert.deepEqual(version.featureList, []);
266267
});
267268

@@ -325,10 +326,10 @@ module('Model | Version', function (hooks) {
325326
});
326327

327328
test('`published_by` relationship is assigned correctly', async function (assert) {
328-
let user = this.server.create('user', { name: 'JD' });
329+
let user = this.db.user.create({ name: 'JD' });
329330

330-
let crate = this.server.create('crate');
331-
this.server.create('version', { crate, publishedBy: user });
331+
let crate = this.db.crate.create();
332+
this.db.version.create({ crate, publishedBy: user });
332333

333334
let crateRecord = await this.store.findRecord('crate', crate.name);
334335
assert.ok(crateRecord);

0 commit comments

Comments
 (0)