Skip to content

Commit 492357a

Browse files
runspiredpliljegr
authored and
pliljegr
committed
some cleanup
1 parent e91bde8 commit 492357a

File tree

6 files changed

+192
-63
lines changed

6 files changed

+192
-63
lines changed

packages/-ember-data/tests/integration/adapter/find-all-test.js

+1
Original file line numberDiff line numberDiff line change
@@ -153,6 +153,7 @@ module('integration/adapter/find-all - Finding All Records of a Type', function(
153153
);
154154

155155
store.createRecord('person', { name: 'Carsten Nielsen' });
156+
await settled();
156157

157158
await settled();
158159

packages/-ember-data/tests/integration/debug-adapter-test.js

+10-4
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ import { A } from '@ember/array';
33
import { get } from '@ember/object';
44
import Model from '@ember-data/model';
55
import Adapter from '@ember-data/adapter';
6+
import { DebugAdapter } from 'ember-data/-private';
67
import { module, test } from 'qunit';
78
import { settled } from '@ember/test-helpers';
89
import { attr } from '@ember-data/model';
@@ -15,24 +16,25 @@ class Post extends Model {
1516
module('integration/debug-adapter - DS.DebugAdapter', function(hooks) {
1617
setupTest(hooks);
1718

18-
let store, debugAdapter;
19+
let store;
1920

2021
hooks.beforeEach(function() {
2122
let { owner } = this;
2223

2324
owner.register('model:post', Post);
2425
store = owner.lookup('service:store');
25-
debugAdapter = owner.lookup('data-adapter:main');
26-
27-
debugAdapter.reopen({
26+
let _adapter = DebugAdapter.extend({
2827
getModelTypes() {
2928
return A([{ klass: Post, name: 'post' }]);
3029
},
3130
});
31+
owner.register('data-adapter:main', _adapter);
3232
});
3333

3434
test('Watching Model Types', async function(assert) {
3535
assert.expect(5);
36+
let { owner } = this;
37+
let debugAdapter = owner.lookup('data-adapter:main');
3638

3739
function added(types) {
3840
assert.equal(types.length, 1, 'added one type');
@@ -59,6 +61,8 @@ module('integration/debug-adapter - DS.DebugAdapter', function(hooks) {
5961
});
6062

6163
test('Watching Records', async function(assert) {
64+
let { owner } = this;
65+
let debugAdapter = owner.lookup('data-adapter:main');
6266
let addedRecords, updatedRecords, removedIndex, removedCount;
6367

6468
this.owner.register(
@@ -164,6 +168,8 @@ module('integration/debug-adapter - DS.DebugAdapter', function(hooks) {
164168
});
165169

166170
test('Column names', function(assert) {
171+
let { owner } = this;
172+
let debugAdapter = owner.lookup('data-adapter:main');
167173
class Person extends Model {
168174
@attr()
169175
title;

packages/-ember-data/tests/integration/inverse-test.js

+150-37
Original file line numberDiff line numberDiff line change
@@ -15,11 +15,13 @@ function stringify(string) {
1515
module('integration/inverse_test - inverseFor', function(hooks) {
1616
setupTest(hooks);
1717
let store;
18-
let user;
19-
let job;
2018

2119
hooks.beforeEach(function() {
2220
let { owner } = this;
21+
store = owner.lookup('service:store');
22+
});
23+
24+
test('Finds the inverse when there is only one possible available', function(assert) {
2325
class User extends Model {
2426
@attr()
2527
name;
@@ -47,25 +49,12 @@ module('integration/inverse_test - inverseFor', function(hooks) {
4749
}
4850
}
4951

50-
class ReflexiveModel extends Model {
51-
@belongsTo('reflexive-model', { async: false })
52-
reflexiveProp;
53-
54-
toString() {
55-
return stringify('reflexiveModel');
56-
}
57-
}
52+
let { owner } = this;
5853
owner.register('model:user', User);
5954
owner.register('model:job', Job);
60-
owner.register('model:reflexive-model', ReflexiveModel);
6155

62-
store = owner.lookup('service:store');
63-
64-
job = store.modelFor('job');
65-
user = store.modelFor('user');
66-
});
67-
68-
test('Finds the inverse when there is only one possible available', function(assert) {
56+
let job = store.modelFor('job');
57+
let user = store.modelFor('user');
6958
let inverseDefinition = job.inverseFor('user', store);
7059

7160
assert.deepEqual(
@@ -83,13 +72,45 @@ module('integration/inverse_test - inverseFor', function(hooks) {
8372
});
8473

8574
test('Finds the inverse when only one side has defined it manually', function(assert) {
86-
job.reopen({
87-
owner: belongsTo('user', { inverse: 'previousJob', async: false }),
88-
});
75+
class User extends Model {
76+
@attr()
77+
name;
78+
79+
@belongsTo('user', { async: true, inverse: null })
80+
bestFriend;
8981

90-
user.reopen({
91-
previousJob: belongsTo('job', { async: false }),
92-
});
82+
@belongsTo('job', { async: false })
83+
job;
84+
85+
@belongsTo('job', { async: false })
86+
previousJob;
87+
88+
toString() {
89+
return stringify('user');
90+
}
91+
}
92+
93+
class Job extends Model {
94+
@attr()
95+
isGood;
96+
97+
@belongsTo('user', { async: false })
98+
user;
99+
100+
@belongsTo('user', { inverse: 'previousJob', async: false })
101+
owner;
102+
103+
toString() {
104+
return stringify('job');
105+
}
106+
}
107+
108+
let { owner } = this;
109+
owner.register('model:user', User);
110+
owner.register('model:job', Job);
111+
112+
let job = store.modelFor('job');
113+
let user = store.modelFor('user');
93114

94115
assert.deepEqual(
95116
job.inverseFor('owner', store),
@@ -120,34 +141,114 @@ module('integration/inverse_test - inverseFor', function(hooks) {
120141
});
121142

122143
test('Returns null if inverse relationship it is manually set with a different relationship key', function(assert) {
123-
job.reopen({
124-
user: belongsTo('user', { inverse: 'previousJob', async: false }),
125-
});
144+
class User extends Model {
145+
@attr()
146+
name;
147+
148+
@belongsTo('user', { async: true, inverse: null })
149+
bestFriend;
150+
151+
@belongsTo('job', { async: false })
152+
job;
153+
154+
toString() {
155+
return stringify('user');
156+
}
157+
}
158+
159+
class Job extends Model {
160+
@attr()
161+
isGood;
162+
163+
@belongsTo('user', { inverse: 'previousJob', async: false })
164+
user;
165+
166+
toString() {
167+
return stringify('job');
168+
}
169+
}
126170

127-
user.reopen({
128-
job: belongsTo('job', { async: false }),
129-
});
171+
let { owner } = this;
172+
owner.register('model:user', User);
173+
owner.register('model:job', Job);
130174

175+
let user = store.modelFor('user');
131176
assert.equal(user.inverseFor('job', store), null, 'There is no inverse');
132177
});
133178

134179
testInDebug('Errors out if you define 2 inverses to the same model', function(assert) {
135-
job.reopen({
136-
user: belongsTo('user', { inverse: 'job', async: false }),
137-
owner: belongsTo('user', { inverse: 'job', async: false }),
138-
});
180+
class User extends Model {
181+
@attr()
182+
name;
183+
184+
@belongsTo('user', { async: true, inverse: null })
185+
bestFriend;
186+
187+
@belongsTo('job', { async: false })
188+
job;
189+
190+
toString() {
191+
return stringify('user');
192+
}
193+
}
139194

140-
user.reopen({
141-
job: belongsTo('job', { async: false }),
142-
});
195+
class Job extends Model {
196+
@attr()
197+
isGood;
198+
199+
@belongsTo('user', { inverse: 'job', async: false })
200+
user;
143201

202+
@belongsTo('user', { inverse: 'job', async: false })
203+
owner;
204+
205+
toString() {
206+
return stringify('job');
207+
}
208+
}
209+
let { owner } = this;
210+
owner.register('model:user', User);
211+
owner.register('model:job', Job);
212+
213+
let user = store.modelFor('user');
144214
assert.expectAssertion(() => {
145215
user.inverseFor('job', store);
146216
}, /Assertion Failed: You defined the 'job' relationship on model:user, but you defined the inverse relationships of type model:job multiple times/i);
147217
});
148218

149219
test('Caches findInverseFor return value', function(assert) {
150220
assert.expect(1);
221+
class User extends Model {
222+
@attr()
223+
name;
224+
225+
@belongsTo('user', { async: true, inverse: null })
226+
bestFriend;
227+
228+
@belongsTo('job', { async: false })
229+
job;
230+
231+
toString() {
232+
return stringify('user');
233+
}
234+
}
235+
236+
class Job extends Model {
237+
@attr()
238+
isGood;
239+
240+
@belongsTo('user', { async: false })
241+
user;
242+
243+
toString() {
244+
return stringify('job');
245+
}
246+
}
247+
let { owner } = this;
248+
owner.register('model:user', User);
249+
owner.register('model:job', Job);
250+
251+
let job = store.modelFor('job');
151252

152253
let inverseForUser = job.inverseFor('user', store);
153254
job.findInverseFor = function() {
@@ -158,6 +259,18 @@ module('integration/inverse_test - inverseFor', function(hooks) {
158259
});
159260

160261
testInDebug('Errors out if you do not define an inverse for a reflexive relationship', function(assert) {
262+
class ReflexiveModel extends Model {
263+
@belongsTo('reflexive-model', { async: false })
264+
reflexiveProp;
265+
266+
toString() {
267+
return stringify('reflexiveModel');
268+
}
269+
}
270+
271+
let { owner } = this;
272+
owner.register('model:reflexive-model', ReflexiveModel);
273+
161274
//Maybe store is evaluated lazily, so we need this :(
162275
assert.expectWarning(() => {
163276
var reflexiveModel;

0 commit comments

Comments
 (0)