@@ -3,6 +3,7 @@ import { module, test } from 'qunit';
3
3
import Model from '@ember-data/model' ;
4
4
import { hasMany , belongsTo } from '@ember-data/model' ;
5
5
import { get } from '@ember/object' ;
6
+ import { gte } from 'ember-compatibility-helpers' ;
6
7
7
8
class Person extends Model {
8
9
@hasMany ( 'occupation' , { async : false } ) occupations ;
@@ -125,4 +126,35 @@ module('[@ember-data/model] unit - relationships', function(hooks) {
125
126
126
127
assert . equal ( relationship . meta . name , 'streamItems' , 'relationship name has not been changed' ) ;
127
128
} ) ;
129
+
130
+ if ( gte ( '3.10.0' ) ) {
131
+ test ( 'decorators works without parens' , function ( assert ) {
132
+ let store ;
133
+ let { owner } = this ;
134
+
135
+ class StreamItem extends Model {
136
+ @belongsTo user ;
137
+ }
138
+
139
+ class User extends Model {
140
+ @hasMany streamItems ;
141
+ }
142
+
143
+ owner . unregister ( 'model:user' ) ;
144
+ owner . register ( 'model:stream-item' , StreamItem ) ;
145
+ owner . register ( 'model:user' , User ) ;
146
+
147
+ store = owner . lookup ( 'service:store' ) ;
148
+
149
+ let user = store . modelFor ( 'user' ) ;
150
+
151
+ const relationships = get ( user , 'relationships' ) ;
152
+
153
+ assert . ok ( relationships . has ( 'stream-item' ) , 'relationship key has been normalized' ) ;
154
+
155
+ const relationship = relationships . get ( 'stream-item' ) [ 0 ] ;
156
+
157
+ assert . equal ( relationship . meta . name , 'streamItems' , 'relationship name has not been changed' ) ;
158
+ } ) ;
159
+ }
128
160
} ) ;
0 commit comments