Skip to content

Commit b9ba7c1

Browse files
committed
app: Include default_version by default
This commit would ensure that `default_version` is included in the `crate` response by default. This eliminates the need to wait for the `versions` request to complete when `default_version` is the only version required.
1 parent b9b337e commit b9ba7c1

File tree

2 files changed

+13
-5
lines changed

2 files changed

+13
-5
lines changed

app/adapters/crate.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ export default class CrateAdapter extends ApplicationAdapter {
4949
function setDefaultInclude(query) {
5050
if (query.include === undefined) {
5151
// This ensures `crate.versions` are always fetched from another request.
52-
query.include = 'keywords,categories,downloads';
52+
query.include = 'keywords,categories,downloads,default_version';
5353
}
5454

5555
return query;

tests/adapters/crate-test.js

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -29,18 +29,26 @@ module('Adapter | crate', function (hooks) {
2929

3030
test('findRecord requests do not include versions by default', async function (assert) {
3131
let _foo = this.db.crate.create({ name: 'foo' });
32-
let version = this.db.version.create({ crate: _foo });
32+
this.db.version.create({ crate: _foo, num: '0.0.1' });
33+
this.db.version.create({ crate: _foo, num: '0.0.2' });
34+
this.db.version.create({ crate: _foo, num: '0.0.3' });
35+
36+
let versions = this.db.version.getAll().reverse();
37+
let default_version = versions.find(it => it.num === '0.0.3');
3338

3439
let store = this.owner.lookup('service:store');
3540

3641
let foo = await store.findRecord('crate', 'foo');
3742
assert.strictEqual(foo?.name, 'foo');
3843

39-
// versions should not be loaded yet
44+
// Only `defaul_version` should be loaded
4045
let versionsRef = foo.hasMany('versions');
41-
assert.deepEqual(versionsRef.ids(), []);
46+
assert.deepEqual(versionsRef.ids(), [`${default_version.id}`]);
4247

4348
await versionsRef.load();
44-
assert.deepEqual(versionsRef.ids(), [`${version.id}`]);
49+
assert.deepEqual(
50+
versionsRef.ids(),
51+
versions.map(it => `${it.id}`),
52+
);
4553
});
4654
});

0 commit comments

Comments
 (0)