@@ -19,15 +19,28 @@ void main() {
1919 group ('package:JsonSerializable' , () {
2020 setupTestsFor (JsonEntity (id: 0 , str: 'foo' , date: DateTime .now ()));
2121 setupRelTestsFor (JsonBook .fromJson ({
22- 'author' : {'name' : 'Charles' }
22+ 'author' : {'name' : 'Charles' },
23+ 'readers' : [
24+ {'name' : 'Emily' },
25+ {'name' : 'Diana' }
26+ ]
2327 }));
2428 });
2529
2630 group ('package:Freezed' , () {
2731 setupTestsFor (FrozenEntity (id: 1 , str: 'foo' , date: DateTime .now ()));
2832 final author = FrozenPerson (id: 1 , name: 'Charles' );
33+ final readers = [
34+ FrozenPerson (id: 2 , name: 'Emily' ),
35+ FrozenPerson (id: 3 , name: 'Diana' )
36+ ];
2937 setupRelTestsFor (
30- FrozenBook (id: 1 , author: ToOne <FrozenPerson >(target: author)), author);
38+ FrozenBook (
39+ id: 1 ,
40+ author: ToOne (target: author),
41+ readers: ToMany (items: readers)),
42+ (Store store) =>
43+ store.box <FrozenPerson >().putMany ([author, ...readers]));
3144 });
3245}
3346
@@ -44,23 +57,23 @@ void setupTestsFor<EntityT>(EntityT newObject) {
4457 });
4558}
4659
47- void setupRelTestsFor <BookEntityT , PersonEntityT >(BookEntityT book,
48- [PersonEntityT ? author ]) {
60+ void setupRelTestsFor <BookEntityT >(BookEntityT book,
61+ [void Function ( Store ) ? init ]) {
4962 group (BookEntityT .toString (), () {
5063 late TestEnv <BookEntityT > env;
5164 setUp (() => env = TestEnv (getObjectBoxModel ()));
5265 tearDown (() => env.close ());
5366
5467 test ('relations' , () {
55- if (author != null ) {
56- env.store.box <PersonEntityT >().put (author);
57- (book as dynamic ).author.target = author;
58- }
68+ if (init != null ) init (env.store);
5969 env.box.put (book);
6070
6171 final bookRead = env.box.get (1 )! as dynamic ;
6272 expect (bookRead.author.targetId, 1 );
6373 expect (bookRead.author.target! .name, 'Charles' );
74+
75+ expect (bookRead.readers[0 ]! .name, 'Emily' );
76+ expect (bookRead.readers[1 ]! .name, 'Diana' );
6477 });
6578 });
6679}
0 commit comments