@loopback/repository-tests 0.23.3 → 0.23.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -103,6 +103,51 @@ function hasManyThroughInclusionResolverAcceptance(dataSourceOptions, repository
103
103
  };
104
104
  (0, testlab_1.expect)((0, testlab_1.toJSON)(result)).to.deepEqual((0, testlab_1.toJSON)(expected));
105
105
  });
106
+ it('includes relations through a bi-directional hasManyThrough relation', async () => {
107
+ const link = await customerRepo.create({ name: 'Link' });
108
+ const zelda = await customerRepo.create({ name: 'Zelda' });
109
+ const voldemort = await customerRepo.create({ name: 'Voldemort' });
110
+ const cart = await customerRepo
111
+ .cartItems(zelda.id)
112
+ .create({ description: 'crown' });
113
+ await customerRepo.cartItems(link.id).create({ description: 'shield' });
114
+ await customerRepo
115
+ .cartItems(link.id)
116
+ .create({ description: 'green hat' });
117
+ // Cart is now shared by Link, Zelda and Voldemort
118
+ await customerRepo.cartItems(link.id).link(cart.id);
119
+ await customerRepo.cartItems(voldemort.id).link(cart.id);
120
+ // We're testing the limit and order in the inclusion of customers
121
+ // within the inclusion of cartItems. The order clause in combination
122
+ // with the limit clause should return Zelda and Voldemort in that
123
+ // order, excluding Link due to the limit of 2 and sort by name.
124
+ const result = await customerRepo.find({
125
+ limit: 1,
126
+ order: ['name DESC'],
127
+ include: [
128
+ {
129
+ relation: 'cartItems',
130
+ scope: {
131
+ include: [
132
+ {
133
+ relation: 'customers',
134
+ scope: { limit: 2, order: ['name DESC'] },
135
+ },
136
+ ],
137
+ },
138
+ },
139
+ ],
140
+ });
141
+ const expected = [
142
+ {
143
+ ...zelda,
144
+ parentId: features.emptyValue,
145
+ cartItems: [{ ...cart, customers: [zelda, voldemort] }],
146
+ },
147
+ ];
148
+ (0, testlab_1.expect)(result.length).to.eql(1);
149
+ (0, testlab_1.expect)((0, testlab_1.toJSON)(result)).to.deepEqual((0, testlab_1.toJSON)(expected));
150
+ });
106
151
  it('honours field scope when returning a model', async () => {
107
152
  const link = await customerRepo.create({ name: 'Link' });
108
153
  const sword = await customerRepo
@@ -126,17 +171,26 @@ function hasManyThroughInclusionResolverAcceptance(dataSourceOptions, repository
126
171
  ];
127
172
  (0, testlab_1.expect)((0, testlab_1.toJSON)(result)).to.deepEqual((0, testlab_1.toJSON)(expected));
128
173
  });
129
- it('honours limit scope when returning a model', async () => {
174
+ it('honours limit and order scope when returning a model', async () => {
175
+ var _a;
130
176
  const link = await customerRepo.create({ name: 'Link' });
131
177
  await customerRepo
132
178
  .cartItems(link.id)
133
179
  .create({ description: 'master sword' });
134
- await customerRepo.cartItems(link.id).create({ description: 'shield' });
180
+ const shield = await customerRepo
181
+ .cartItems(link.id)
182
+ .create({ description: 'shield' });
135
183
  const result = await customerRepo.find({
136
- include: [{ relation: 'cartItems', scope: { limit: 1 } }],
184
+ include: [
185
+ {
186
+ relation: 'cartItems',
187
+ scope: { limit: 1, order: ['description DESC'] },
188
+ },
189
+ ],
137
190
  });
138
191
  (0, testlab_1.expect)(result.length).to.eql(1);
139
192
  (0, testlab_1.expect)(result[0].cartItems.length).to.eql(1);
193
+ (0, testlab_1.expect)((_a = result[0].cartItems[0]) === null || _a === void 0 ? void 0 : _a.id).to.eql(shield === null || shield === void 0 ? void 0 : shield.id);
140
194
  });
141
195
  it('finds models with nested inclusion', async () => {
142
196
  const o1 = await orderRepo.create({ description: 'order 1' });
@@ -1 +1 @@
1
- {"version":3,"file":"has-many-through-inclusion-resolver.acceptance.js","sourceRoot":"","sources":["../../../../src/crud/relations/acceptance/has-many-through-inclusion-resolver.acceptance.ts"],"names":[],"mappings":";AAAA,2EAA2E;AAC3E,0CAA0C;AAC1C,+CAA+C;AAC/C,gEAAgE;;;AAEhE,+CAAyD;AAQzD,gFAG2C;AAC3C,+CAa4B;AAC5B,wCAAsD;AAEtD,SAAgB,yCAAyC,CACvD,iBAAoC,EACpC,eAAmC,EACnC,QAAsB;IAEtB,IAAA,gBAAM,EACJ,CAAC,QAAQ,CAAC,0BAA0B,EACpC,QAAQ,EACR,iDAAiD,EACjD,KAAK,CACN,CAAC;IACF,SAAS,KAAK;QACZ,QAAQ,CAAC,mCAAmC,EAAE,GAAG,EAAE;YACjD,MAAM,CAAC,6DAAkC,CAAC,CAAC;YAC3C,IAAI,YAAgC,CAAC;YACrC,IAAI,YAAgC,CAAC;YACrC,IAAI,wBAAwD,CAAC;YAC7D,IAAI,SAA0B,CAAC;YAE/B,MAAM,CACJ,IAAA,sCAAW,EAAC,KAAK,UAAU,eAAe,CAAC,GAAoB;gBAC7D,6DAA6D;gBAC7D,sCAAsC;gBACtC,CAAC,EAAC,YAAY,EAAE,YAAY,EAAE,wBAAwB,EAAE,SAAS,EAAC;oBAChE,IAAA,oCAA0B,EACxB,GAAG,CAAC,UAAU,EACd,eAAe,EACf,QAAQ,CACT,CAAC,CAAC;gBACL,IAAA,gBAAM,EAAC,YAAY,CAAC,SAAS,CAAC,iBAAiB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC;gBAElE,MAAM,GAAG,CAAC,UAAU,CAAC,WAAW,CAAC;oBAC/B,iBAAQ,CAAC,IAAI;oBACb,iBAAQ,CAAC,IAAI;oBACb,6BAAoB,CAAC,IAAI;oBACzB,cAAK,CAAC,IAAI;iBACX,CAAC,CAAC;YACL,CAAC,CAAC,CACH,CAAC;YAEF,UAAU,CAAC,KAAK,IAAI,EAAE;gBACpB,MAAM,YAAY,CAAC,SAAS,EAAE,CAAC;gBAC/B,MAAM,YAAY,CAAC,SAAS,EAAE,CAAC;gBAC/B,MAAM,wBAAwB,CAAC,SAAS,EAAE,CAAC;gBAC3C,MAAM,SAAS,CAAC,SAAS,EAAE,CAAC;YAC9B,CAAC,CAAC,CAAC;YAEH,EAAE,CAAC,8DAA8D,EAAE,KAAK,IAAI,EAAE;gBAC5E,MAAM,QAAQ,GAAG,MAAM,YAAY,CAAC,MAAM,CAAC,EAAC,IAAI,EAAE,UAAU,EAAC,CAAC,CAAC;gBAC/D,MAAM,YAAY;qBACf,SAAS,CAAC,QAAQ,CAAC,EAAE,CAAC;qBACtB,MAAM,CAAC,EAAC,WAAW,EAAE,OAAO,EAAC,CAAC,CAAC;gBAElC,MAAM,IAAA,gBAAM,EACV,YAAY,CAAC,IAAI,CAAC,EAAC,OAAO,EAAE,CAAC,OAAO,CAAC,EAAC,CAAC,CACxC,CAAC,EAAE,CAAC,EAAE,CAAC,YAAY,CAAC,2CAA2C,CAAC,CAAC;YACpE,CAAC,CAAC,CAAC;YAEH,EAAE,CAAC,iEAAiE,EAAE,KAAK,IAAI,EAAE;gBAC/E,MAAM,KAAK,GAAG,MAAM,YAAY,CAAC,MAAM,CAAC,EAAC,IAAI,EAAE,OAAO,EAAC,CAAC,CAAC;gBACzD,MAAM,QAAQ,GAAG,MAAM,YAAY;qBAChC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC;qBACnB,MAAM,CAAC,EAAC,WAAW,EAAE,OAAO,EAAC,CAAC,CAAC;gBAElC,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,IAAI,CAAC;oBACrC,OAAO,EAAE,CAAC,WAAW,CAAC;iBACvB,CAAC,CAAC;gBAEH,IAAA,gBAAM,EAAC,IAAA,gBAAM,EAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,SAAS,CAAC;oBAClC,IAAA,gBAAM,EAAC;wBACL,GAAG,KAAK;wBACR,QAAQ,EAAE,QAAQ,CAAC,UAAU;wBAC7B,SAAS,EAAE,CAAC,QAAQ,CAAC;qBACtB,CAAC;iBACH,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;YAEH,EAAE,CAAC,8DAA8D,EAAE,KAAK,IAAI,EAAE;gBAC5E,MAAM,IAAI,GAAG,MAAM,YAAY,CAAC,MAAM,CAAC,EAAC,IAAI,EAAE,MAAM,EAAC,CAAC,CAAC;gBACvD,MAAM,KAAK,GAAG,MAAM,YAAY;qBAC7B,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC;qBAClB,MAAM,CAAC,EAAC,WAAW,EAAE,cAAc,EAAC,CAAC,CAAC;gBACzC,MAAM,MAAM,GAAG,MAAM,YAAY;qBAC9B,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC;qBAClB,MAAM,CAAC,EAAC,WAAW,EAAE,QAAQ,EAAC,CAAC,CAAC;gBACnC,MAAM,GAAG,GAAG,MAAM,YAAY;qBAC3B,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC;qBAClB,MAAM,CAAC,EAAC,WAAW,EAAE,WAAW,EAAC,CAAC,CAAC;gBAEtC,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,IAAI,CAAC;oBACrC,OAAO,EAAE,CAAC,WAAW,CAAC;iBACvB,CAAC,CAAC;gBAEH,MAAM,QAAQ,GAAG;oBACf;wBACE,GAAG,IAAI;wBACP,QAAQ,EAAE,QAAQ,CAAC,UAAU;wBAC7B,SAAS,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,CAAC;qBAChC;iBACF,CAAC;gBAEF,IAAA,gBAAM,EAAC,IAAA,gBAAM,EAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,SAAS,CAAC,IAAA,gBAAM,EAAC,QAAQ,CAAC,CAAC,CAAC;YACxD,CAAC,CAAC,CAAC;YAEH,EAAE,CAAC,oEAAoE,EAAE,KAAK,IAAI,EAAE;gBAClF,MAAM,IAAI,GAAG,MAAM,YAAY,CAAC,MAAM,CAAC,EAAC,IAAI,EAAE,MAAM,EAAC,CAAC,CAAC;gBACvD,MAAM,KAAK,GAAG,MAAM,YAAY,CAAC,MAAM,CAAC,EAAC,IAAI,EAAE,OAAO,EAAC,CAAC,CAAC;gBAEzD,MAAM,SAAS,GAAG,MAAM,YAAY;qBACjC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC;qBACnB,MAAM,CAAC,EAAC,WAAW,EAAE,OAAO,EAAC,CAAC,CAAC;gBAClC,MAAM,YAAY,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,EAAC,WAAW,EAAE,QAAQ,EAAC,CAAC,CAAC;gBACtE,MAAM,YAAY;qBACf,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC;qBAClB,MAAM,CAAC,EAAC,WAAW,EAAE,WAAW,EAAC,CAAC,CAAC;gBAEtC,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,EAAE;oBACnD,OAAO,EAAE,CAAC,WAAW,CAAC;iBACvB,CAAC,CAAC;gBACH,MAAM,QAAQ,GAAG;oBACf,GAAG,KAAK;oBACR,QAAQ,EAAE,QAAQ,CAAC,UAAU;oBAC7B,SAAS,EAAE,CAAC,SAAS,CAAC;iBACvB,CAAC;gBACF,IAAA,gBAAM,EAAC,IAAA,gBAAM,EAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,SAAS,CAAC,IAAA,gBAAM,EAAC,QAAQ,CAAC,CAAC,CAAC;YACxD,CAAC,CAAC,CAAC;YAEH,EAAE,CAAC,4CAA4C,EAAE,KAAK,IAAI,EAAE;gBAC1D,MAAM,IAAI,GAAG,MAAM,YAAY,CAAC,MAAM,CAAC,EAAC,IAAI,EAAE,MAAM,EAAC,CAAC,CAAC;gBACvD,MAAM,KAAK,GAAG,MAAM,YAAY;qBAC7B,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC;qBAClB,MAAM,CAAC,EAAC,WAAW,EAAE,cAAc,EAAC,CAAC,CAAC;gBACzC,MAAM,MAAM,GAAG,MAAM,YAAY;qBAC9B,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC;qBAClB,MAAM,CAAC,EAAC,WAAW,EAAE,QAAQ,EAAC,CAAC,CAAC;gBAEnC,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,IAAI,CAAC;oBACrC,OAAO,EAAE,CAAC,EAAC,QAAQ,EAAE,WAAW,EAAE,KAAK,EAAE,EAAC,MAAM,EAAE,EAAC,EAAE,EAAE,KAAK,EAAC,EAAC,EAAC,CAAC;iBACjE,CAAC,CAAC;gBAEH,MAAM,QAAQ,GAAG;oBACf;wBACE,GAAG,IAAI;wBACP,QAAQ,EAAE,QAAQ,CAAC,UAAU;wBAC7B,SAAS,EAAE;4BACT,EAAC,WAAW,EAAE,KAAK,CAAC,WAAW,EAAC;4BAChC,EAAC,WAAW,EAAE,MAAM,CAAC,WAAW,EAAC;yBAClC;qBACF;iBACF,CAAC;gBAEF,IAAA,gBAAM,EAAC,IAAA,gBAAM,EAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,SAAS,CAAC,IAAA,gBAAM,EAAC,QAAQ,CAAC,CAAC,CAAC;YACxD,CAAC,CAAC,CAAC;YAEH,EAAE,CAAC,4CAA4C,EAAE,KAAK,IAAI,EAAE;gBAC1D,MAAM,IAAI,GAAG,MAAM,YAAY,CAAC,MAAM,CAAC,EAAC,IAAI,EAAE,MAAM,EAAC,CAAC,CAAC;gBACvD,MAAM,YAAY;qBACf,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC;qBAClB,MAAM,CAAC,EAAC,WAAW,EAAE,cAAc,EAAC,CAAC,CAAC;gBACzC,MAAM,YAAY,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,EAAC,WAAW,EAAE,QAAQ,EAAC,CAAC,CAAC;gBAEtE,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,IAAI,CAAC;oBACrC,OAAO,EAAE,CAAC,EAAC,QAAQ,EAAE,WAAW,EAAE,KAAK,EAAE,EAAC,KAAK,EAAE,CAAC,EAAC,EAAC,CAAC;iBACtD,CAAC,CAAC;gBAEH,IAAA,gBAAM,EAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;gBAChC,IAAA,gBAAM,EAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YAC/C,CAAC,CAAC,CAAC;YAEH,EAAE,CAAC,oCAAoC,EAAE,KAAK,IAAI,EAAE;gBAClD,MAAM,EAAE,GAAG,MAAM,SAAS,CAAC,MAAM,CAAC,EAAC,WAAW,EAAE,SAAS,EAAC,CAAC,CAAC;gBAC5D,MAAM,EAAE,GAAG,MAAM,SAAS,CAAC,MAAM,CAAC,EAAC,WAAW,EAAE,SAAS,EAAC,CAAC,CAAC;gBAC5D,MAAM,EAAE,GAAG,MAAM,SAAS,CAAC,MAAM,CAAC,EAAC,WAAW,EAAE,SAAS,EAAC,CAAC,CAAC;gBAE5D,MAAM,IAAI,GAAG,MAAM,YAAY,CAAC,MAAM,CAAC,EAAC,IAAI,EAAE,MAAM,EAAC,CAAC,CAAC;gBACvD,MAAM,KAAK,GAAG,MAAM,YAAY;qBAC7B,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC;qBAClB,MAAM,CAAC,EAAC,WAAW,EAAE,cAAc,EAAE,OAAO,EAAE,EAAE,CAAC,EAAE,EAAC,CAAC,CAAC;gBACzD,MAAM,MAAM,GAAG,MAAM,YAAY;qBAC9B,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC;qBAClB,MAAM,CAAC,EAAC,WAAW,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,CAAC,EAAE,EAAC,CAAC,CAAC;gBAEnD,MAAM,KAAK,GAAG,MAAM,YAAY,CAAC,MAAM,CAAC,EAAC,IAAI,EAAE,OAAO,EAAC,CAAC,CAAC;gBACzD,MAAM,KAAK,GAAG,MAAM,YAAY;qBAC7B,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC;qBACnB,MAAM,CAAC,EAAC,WAAW,EAAE,UAAU,EAAE,OAAO,EAAE,EAAE,CAAC,EAAE,EAAC,CAAC,CAAC;gBAErD,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,IAAI,CAAC;oBACrC,OAAO,EAAE,CAAC,EAAC,QAAQ,EAAE,WAAW,EAAE,KAAK,EAAE,EAAC,OAAO,EAAE,CAAC,OAAO,CAAC,EAAC,EAAC,CAAC;iBAChE,CAAC,CAAC;gBAEH,MAAM,KAAK,GAAG;oBACZ,SAAS,EAAE,QAAQ,CAAC,UAAU;oBAC9B,YAAY,EAAE,QAAQ,CAAC,UAAU;iBAClC,CAAC;gBAEF,MAAM,QAAQ,GAAG;oBACf;wBACE,GAAG,IAAI;wBACP,QAAQ,EAAE,QAAQ,CAAC,UAAU;wBAC7B,SAAS,EAAE;4BACT;gCACE,GAAG,KAAK;gCACR,KAAK,EAAE;oCACL,GAAG,EAAE;oCACL,GAAG,KAAK;iCACT;6BACF;4BACD;gCACE,GAAG,MAAM;gCACT,KAAK,EAAE;oCACL,GAAG,EAAE;oCACL,GAAG,KAAK;iCACT;6BACF;yBACF;qBACF;oBACD;wBACE,GAAG,KAAK;wBACR,QAAQ,EAAE,QAAQ,CAAC,UAAU;wBAC7B,SAAS,EAAE;4BACT;gCACE,GAAG,KAAK;gCACR,KAAK,EAAE;oCACL,GAAG,EAAE;oCACL,GAAG,KAAK;iCACT;6BACF;yBACF;qBACF;iBACF,CAAC;gBACF,IAAA,gBAAM,EAAC,IAAA,gBAAM,EAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,SAAS,CAAC,IAAA,gBAAM,EAAC,QAAQ,CAAC,CAAC,CAAC;YACxD,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,QAAQ,CAAC,kDAAkD,EAAE,GAAG,EAAE;YAChE,MAAM,CAAC,6DAAkC,CAAC,CAAC;YAC3C,IAAI,QAAwB,CAAC;YAC7B,IAAI,YAAgC,CAAC;YAErC,MAAM,CACJ,IAAA,sCAAW,EAAC,KAAK,UAAU,eAAe,CAAC,GAAoB;gBAC7D,CAAC,EAAC,QAAQ,EAAE,YAAY,EAAC,GAAG,IAAA,oCAA0B,EACpD,GAAG,CAAC,UAAU,EACd,eAAe,EACf,QAAQ,CACT,CAAC,CAAC;gBACH,IAAA,gBAAM,EAAC,QAAQ,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC;gBAC1D,MAAM,GAAG,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,aAAI,CAAC,IAAI,EAAE,iBAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;YAC/D,CAAC,CAAC,CACH,CAAC;YAEF,UAAU,CAAC,KAAK,IAAI,EAAE;gBACpB,MAAM,QAAQ,CAAC,SAAS,EAAE,CAAC;gBAC3B,MAAM,YAAY,CAAC,SAAS,EAAE,CAAC;YACjC,CAAC,CAAC,CAAC;YAEH,EAAE,CAAC,iEAAiE,EAAE,KAAK,IAAI,EAAE;gBAC/E,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAC,EAAC,IAAI,EAAE,MAAM,EAAC,CAAC,CAAC;gBACnD,MAAM,KAAK,GAAG,MAAM,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,EAAC,IAAI,EAAE,OAAO,EAAC,CAAC,CAAC;gBAEpE,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,EAAE;oBAC9C,OAAO,EAAE,CAAC,OAAO,CAAC;iBACnB,CAAC,CAAC;gBAEH,IAAA,gBAAM,EAAC,IAAA,gBAAM,EAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,SAAS,CACjC,IAAA,gBAAM,EAAC;oBACL,GAAG,IAAI;oBACP,KAAK,EAAE,CAAC,KAAK,CAAC;iBACf,CAAC,CACH,CAAC;YACJ,CAAC,CAAC,CAAC;YAEH,EAAE,CAAC,8DAA8D,EAAE,KAAK,IAAI,EAAE;gBAC5E,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAC,EAAC,IAAI,EAAE,MAAM,EAAC,CAAC,CAAC;gBACnD,MAAM,KAAK,GAAG,MAAM,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,EAAC,IAAI,EAAE,OAAO,EAAC,CAAC,CAAC;gBACpE,MAAM,KAAK,GAAG,MAAM,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,EAAC,IAAI,EAAE,OAAO,EAAC,CAAC,CAAC;gBACpE,MAAM,KAAK,GAAG,MAAM,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,EAAC,IAAI,EAAE,OAAO,EAAC,CAAC,CAAC;gBAEpE,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC;oBACjC,OAAO,EAAE,CAAC,OAAO,CAAC;iBACnB,CAAC,CAAC;gBAEH,MAAM,QAAQ,GAAG;oBACf,EAAC,GAAG,IAAI,EAAE,KAAK,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,EAAC;oBACvC,EAAC,GAAG,KAAK,EAAC;oBACV,EAAC,GAAG,KAAK,EAAC;oBACV,EAAC,GAAG,KAAK,EAAC;iBACX,CAAC;gBAEF,IAAA,gBAAM,EAAC,IAAA,gBAAM,EAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,SAAS,CAAC,IAAA,gBAAM,EAAC,QAAQ,CAAC,CAAC,CAAC;YACxD,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;AACH,CAAC;AAtSD,8FAsSC"}
1
+ {"version":3,"file":"has-many-through-inclusion-resolver.acceptance.js","sourceRoot":"","sources":["../../../../src/crud/relations/acceptance/has-many-through-inclusion-resolver.acceptance.ts"],"names":[],"mappings":"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"}
@@ -1,15 +1,18 @@
1
- import { BelongsToAccessor, Entity, EntityCrudRepository } from '@loopback/repository';
2
- import { Order, OrderWithRelations } from '.';
1
+ import { BelongsToAccessor, Entity, EntityCrudRepository, HasManyThroughRepositoryFactory } from '@loopback/repository';
2
+ import { Customer, CustomerCartItemLink, Order, OrderWithRelations } from '.';
3
3
  import { MixedIdType } from '../../../../helpers.repository-tests';
4
4
  export declare class CartItem extends Entity {
5
5
  id: MixedIdType;
6
6
  description: string;
7
7
  orderId: MixedIdType;
8
+ customers: Customer[];
8
9
  }
9
10
  export interface CartItemRelations {
10
11
  order?: OrderWithRelations[];
12
+ customers?: Customer[];
11
13
  }
12
14
  export type CartItemWithRelations = CartItem & CartItemRelations;
13
15
  export interface CartItemRepository extends EntityCrudRepository<CartItem, typeof CartItem.prototype.id> {
14
16
  order: BelongsToAccessor<Order, MixedIdType>;
17
+ customers: HasManyThroughRepositoryFactory<Customer, MixedIdType, CustomerCartItemLink, MixedIdType>;
15
18
  }
@@ -29,6 +29,10 @@ tslib_1.__decorate([
29
29
  (0, repository_1.belongsTo)(() => _1.Order),
30
30
  tslib_1.__metadata("design:type", Object)
31
31
  ], CartItem.prototype, "orderId", void 0);
32
+ tslib_1.__decorate([
33
+ (0, repository_1.hasMany)(() => _1.Customer, { through: { model: () => _1.CustomerCartItemLink } }),
34
+ tslib_1.__metadata("design:type", Array)
35
+ ], CartItem.prototype, "customers", void 0);
32
36
  exports.CartItem = CartItem = tslib_1.__decorate([
33
37
  (0, repository_1.model)()
34
38
  ], CartItem);
@@ -1 +1 @@
1
- {"version":3,"file":"cart-item.model.js","sourceRoot":"","sources":["../../../../../src/crud/relations/fixtures/models/cart-item.model.ts"],"names":[],"mappings":";AAAA,2EAA2E;AAC3E,0CAA0C;AAC1C,+CAA+C;AAC/C,gEAAgE;;;;AAEhE,qDAO8B;AAC9B,wBAA4C;AAIrC,IAAM,QAAQ,GAAd,MAAM,QAAS,SAAQ,mBAAM;CAenC,CAAA;AAfY,4BAAQ;AAMnB;IALC,IAAA,qBAAQ,EAAC;QACR,EAAE,EAAE,IAAI;QACR,SAAS,EAAE,IAAI;QACf,gBAAgB,EAAE,IAAI;KACvB,CAAC;;oCACc;AAKhB;IAHC,IAAA,qBAAQ,EAAC;QACR,IAAI,EAAE,QAAQ;KACf,CAAC;;6CACkB;AAGpB;IADC,IAAA,sBAAS,EAAC,GAAG,EAAE,CAAC,QAAK,CAAC;;yCACF;mBAdV,QAAQ;IADpB,IAAA,kBAAK,GAAE;GACK,QAAQ,CAepB"}
1
+ {"version":3,"file":"cart-item.model.js","sourceRoot":"","sources":["../../../../../src/crud/relations/fixtures/models/cart-item.model.ts"],"names":[],"mappings":";AAAA,2EAA2E;AAC3E,0CAA0C;AAC1C,+CAA+C;AAC/C,gEAAgE;;;;AAEhE,qDAS8B;AAC9B,wBAA4E;AAIrE,IAAM,QAAQ,GAAd,MAAM,QAAS,SAAQ,mBAAM;CAkBnC,CAAA;AAlBY,4BAAQ;AAMnB;IALC,IAAA,qBAAQ,EAAC;QACR,EAAE,EAAE,IAAI;QACR,SAAS,EAAE,IAAI;QACf,gBAAgB,EAAE,IAAI;KACvB,CAAC;;oCACc;AAKhB;IAHC,IAAA,qBAAQ,EAAC;QACR,IAAI,EAAE,QAAQ;KACf,CAAC;;6CACkB;AAGpB;IADC,IAAA,sBAAS,EAAC,GAAG,EAAE,CAAC,QAAK,CAAC;;yCACF;AAGrB;IADC,IAAA,oBAAO,EAAC,GAAG,EAAE,CAAC,WAAQ,EAAE,EAAC,OAAO,EAAE,EAAC,KAAK,EAAE,GAAG,EAAE,CAAC,uBAAoB,EAAC,EAAC,CAAC;;2CAClD;mBAjBX,QAAQ;IADpB,IAAA,kBAAK,GAAE;GACK,QAAQ,CAkBpB"}
@@ -1,9 +1,10 @@
1
- import { BelongsToAccessor, Getter, juggler } from '@loopback/repository';
1
+ import { BelongsToAccessor, Getter, HasManyThroughRepositoryFactory, juggler } from '@loopback/repository';
2
2
  import { CrudRepositoryCtor } from '../../../..';
3
- import { CartItem, CartItemRelations, Order } from '../models';
3
+ import { CartItem, CartItemRelations, Customer, CustomerCartItemLink, Order } from '../models';
4
4
  export declare function createCartItemRepo(repoClass: CrudRepositoryCtor): {
5
- new (db: juggler.DataSource, orderRepositoryGetter: Getter<typeof repoClass.prototype>): {
5
+ new (db: juggler.DataSource, orderRepositoryGetter: Getter<typeof repoClass.prototype>, customerRepositoryGetter: Getter<typeof repoClass.prototype>, customerCartItemLinkRepositoryGetter: Getter<typeof repoClass.prototype>): {
6
6
  readonly order: BelongsToAccessor<Order, typeof CartItem.prototype.id>;
7
+ readonly customers: HasManyThroughRepositoryFactory<Customer, typeof Customer.prototype.id, CustomerCartItemLink, typeof CustomerCartItemLink.prototype.id>;
7
8
  entityClass: typeof import("@loopback/repository").Entity & {
8
9
  prototype: CartItem;
9
10
  };
@@ -10,10 +10,12 @@ const models_1 = require("../models");
10
10
  // create the CartItemRepo by calling this func so that it can be extended from CrudRepositoryCtor
11
11
  function createCartItemRepo(repoClass) {
12
12
  return class CartItemRepository extends repoClass {
13
- constructor(db, orderRepositoryGetter) {
13
+ constructor(db, orderRepositoryGetter, customerRepositoryGetter, customerCartItemLinkRepositoryGetter) {
14
14
  super(models_1.CartItem, db);
15
15
  const ordersMeta = this.entityClass.definition.relations['order'];
16
16
  this.order = (0, repository_1.createBelongsToAccessor)(ordersMeta, orderRepositoryGetter, this);
17
+ const customersMeta = this.entityClass.definition.relations['customers'];
18
+ this.customers = (0, repository_1.createHasManyThroughRepositoryFactory)(customersMeta, customerRepositoryGetter, customerCartItemLinkRepositoryGetter);
17
19
  }
18
20
  };
19
21
  }
@@ -1 +1 @@
1
- {"version":3,"file":"cart-item.repository.js","sourceRoot":"","sources":["../../../../../src/crud/relations/fixtures/repositories/cart-item.repository.ts"],"names":[],"mappings":";AAAA,2EAA2E;AAC3E,0CAA0C;AAC1C,+CAA+C;AAC/C,gEAAgE;;;AAEhE,qDAM8B;AAE9B,sCAA6D;AAE7D,kGAAkG;AAClG,SAAgB,kBAAkB,CAAC,SAA6B;IAC9D,OAAO,MAAM,kBAAmB,SAAQ,SAIvC;QAKC,YACE,EAAsB,EACtB,qBAAyD;YAEzD,KAAK,CAAC,iBAAQ,EAAE,EAAE,CAAC,CAAC;YACpB,MAAM,UAAU,GAAG,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;YAClE,IAAI,CAAC,KAAK,GAAG,IAAA,oCAAuB,EAClC,UAAiC,EACjC,qBAAqB,EACrB,IAAI,CACL,CAAC;QACJ,CAAC;KACF,CAAC;AACJ,CAAC;AAvBD,gDAuBC"}
1
+ {"version":3,"file":"cart-item.repository.js","sourceRoot":"","sources":["../../../../../src/crud/relations/fixtures/repositories/cart-item.repository.ts"],"names":[],"mappings":";AAAA,2EAA2E;AAC3E,0CAA0C;AAC1C,+CAA+C;AAC/C,gEAAgE;;;AAEhE,qDAS8B;AAE9B,sCAMmB;AAEnB,kGAAkG;AAClG,SAAgB,kBAAkB,CAAC,SAA6B;IAC9D,OAAO,MAAM,kBAAmB,SAAQ,SAIvC;QAaC,YACE,EAAsB,EACtB,qBAAyD,EACzD,wBAA4D,EAC5D,oCAAwE;YAExE,KAAK,CAAC,iBAAQ,EAAE,EAAE,CAAC,CAAC;YACpB,MAAM,UAAU,GAAG,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;YAClE,IAAI,CAAC,KAAK,GAAG,IAAA,oCAAuB,EAClC,UAAiC,EACjC,qBAAqB,EACrB,IAAI,CACL,CAAC;YAEF,MAAM,aAAa,GAAG,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;YACzE,IAAI,CAAC,SAAS,GAAG,IAAA,kDAAqC,EACpD,aAAkC,EAClC,wBAAwB,EACxB,oCAAoC,CACrC,CAAC;QACJ,CAAC;KACF,CAAC;AACJ,CAAC;AAxCD,gDAwCC"}
@@ -94,8 +94,9 @@ function givenBoundCrudRepositories(db, repositoryClass, features) {
94
94
  const cardInfoRepo = new cardInfoRepoClass(db, async () => creditCardRepo);
95
95
  cardInfoRepo.inclusionResolvers.set('creditCard', cardInfoRepo.creditCard.inclusionResolver);
96
96
  const cartItemRepoClass = (0, repositories_1.createCartItemRepo)(repositoryClass);
97
- const cartItemRepo = new cartItemRepoClass(db, async () => orderRepo);
97
+ const cartItemRepo = new cartItemRepoClass(db, async () => orderRepo, async () => customerRepo, async () => customerCartItemLinkRepo);
98
98
  cartItemRepo.inclusionResolvers.set('order', cartItemRepo.order.inclusionResolver);
99
+ cartItemRepo.inclusionResolvers.set('customers', cartItemRepo.customers.inclusionResolver);
99
100
  const customerCartItemLinkRepoClass = (0, repositories_1.createCustomerCartItemLinkRepo)(repositoryClass);
100
101
  const customerCartItemLinkRepo = new customerCartItemLinkRepoClass(db);
101
102
  const freeDeliveryRepoClass = (0, repositories_1.createFreeDeliveryRepo)(repositoryClass);
@@ -1 +1 @@
1
- {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../../src/crud/relations/helpers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../../src/crud/relations/helpers.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@loopback/repository-tests",
3
3
  "description": "A shared test suite to verify `@loopback/repository` functionality with a given compatible connector",
4
- "version": "0.23.3",
4
+ "version": "0.23.5",
5
5
  "license": "MIT",
6
6
  "main": "dist/index.js",
7
7
  "types": "dist/index.d.ts",
@@ -36,19 +36,19 @@
36
36
  "@loopback/repository": "^6.0.0"
37
37
  },
38
38
  "dependencies": {
39
- "@loopback/testlab": "^6.1.3",
40
- "@types/debug": "^4.1.8",
39
+ "@loopback/testlab": "^6.1.5",
40
+ "@types/debug": "^4.1.12",
41
41
  "debug": "^4.3.4",
42
42
  "tslib": "^2.6.2"
43
43
  },
44
44
  "devDependencies": {
45
- "@loopback/build": "^10.1.3",
46
- "@loopback/core": "^5.1.3",
47
- "@loopback/repository": "^6.1.3",
48
- "@types/debug": "^4.1.8",
49
- "@types/lodash": "^4.14.198",
50
- "@types/node": "^16.18.50",
45
+ "@loopback/build": "^10.1.5",
46
+ "@loopback/core": "^5.1.5",
47
+ "@loopback/repository": "^6.1.5",
48
+ "@types/debug": "^4.1.12",
49
+ "@types/lodash": "^4.14.202",
50
+ "@types/node": "^16.18.70",
51
51
  "lodash": "^4.17.21"
52
52
  },
53
- "gitHead": "9107199cdf1597260ee03e2a903b7db0dec8445d"
53
+ "gitHead": "3f73360ac38e1615317cae977ac20c2e124e3518"
54
54
  }
@@ -158,6 +158,56 @@ export function hasManyThroughInclusionResolverAcceptance(
158
158
  expect(toJSON(result)).to.deepEqual(toJSON(expected));
159
159
  });
160
160
 
161
+ it('includes relations through a bi-directional hasManyThrough relation', async () => {
162
+ const link = await customerRepo.create({name: 'Link'});
163
+ const zelda = await customerRepo.create({name: 'Zelda'});
164
+ const voldemort = await customerRepo.create({name: 'Voldemort'});
165
+
166
+ const cart = await customerRepo
167
+ .cartItems(zelda.id)
168
+ .create({description: 'crown'});
169
+ await customerRepo.cartItems(link.id).create({description: 'shield'});
170
+ await customerRepo
171
+ .cartItems(link.id)
172
+ .create({description: 'green hat'});
173
+
174
+ // Cart is now shared by Link, Zelda and Voldemort
175
+ await customerRepo.cartItems(link.id).link(cart.id);
176
+ await customerRepo.cartItems(voldemort.id).link(cart.id);
177
+
178
+ // We're testing the limit and order in the inclusion of customers
179
+ // within the inclusion of cartItems. The order clause in combination
180
+ // with the limit clause should return Zelda and Voldemort in that
181
+ // order, excluding Link due to the limit of 2 and sort by name.
182
+ const result = await customerRepo.find({
183
+ limit: 1,
184
+ order: ['name DESC'],
185
+ include: [
186
+ {
187
+ relation: 'cartItems',
188
+ scope: {
189
+ include: [
190
+ {
191
+ relation: 'customers',
192
+ scope: {limit: 2, order: ['name DESC']},
193
+ },
194
+ ],
195
+ },
196
+ },
197
+ ],
198
+ });
199
+ const expected = [
200
+ {
201
+ ...zelda,
202
+ parentId: features.emptyValue,
203
+ cartItems: [{...cart, customers: [zelda, voldemort]}],
204
+ },
205
+ ];
206
+
207
+ expect(result.length).to.eql(1);
208
+ expect(toJSON(result)).to.deepEqual(toJSON(expected));
209
+ });
210
+
161
211
  it('honours field scope when returning a model', async () => {
162
212
  const link = await customerRepo.create({name: 'Link'});
163
213
  const sword = await customerRepo
@@ -185,19 +235,27 @@ export function hasManyThroughInclusionResolverAcceptance(
185
235
  expect(toJSON(result)).to.deepEqual(toJSON(expected));
186
236
  });
187
237
 
188
- it('honours limit scope when returning a model', async () => {
238
+ it('honours limit and order scope when returning a model', async () => {
189
239
  const link = await customerRepo.create({name: 'Link'});
190
240
  await customerRepo
191
241
  .cartItems(link.id)
192
242
  .create({description: 'master sword'});
193
- await customerRepo.cartItems(link.id).create({description: 'shield'});
243
+ const shield = await customerRepo
244
+ .cartItems(link.id)
245
+ .create({description: 'shield'});
194
246
 
195
247
  const result = await customerRepo.find({
196
- include: [{relation: 'cartItems', scope: {limit: 1}}],
248
+ include: [
249
+ {
250
+ relation: 'cartItems',
251
+ scope: {limit: 1, order: ['description DESC']},
252
+ },
253
+ ],
197
254
  });
198
255
 
199
256
  expect(result.length).to.eql(1);
200
257
  expect(result[0].cartItems.length).to.eql(1);
258
+ expect(result[0].cartItems[0]?.id).to.eql(shield?.id);
201
259
  });
202
260
 
203
261
  it('finds models with nested inclusion', async () => {
@@ -8,10 +8,12 @@ import {
8
8
  BelongsToAccessor,
9
9
  Entity,
10
10
  EntityCrudRepository,
11
+ hasMany,
12
+ HasManyThroughRepositoryFactory,
11
13
  model,
12
14
  property,
13
15
  } from '@loopback/repository';
14
- import {Order, OrderWithRelations} from '.';
16
+ import {Customer, CustomerCartItemLink, Order, OrderWithRelations} from '.';
15
17
  import {MixedIdType} from '../../../../helpers.repository-tests';
16
18
 
17
19
  @model()
@@ -30,10 +32,14 @@ export class CartItem extends Entity {
30
32
 
31
33
  @belongsTo(() => Order)
32
34
  orderId: MixedIdType;
35
+
36
+ @hasMany(() => Customer, {through: {model: () => CustomerCartItemLink}})
37
+ customers: Customer[];
33
38
  }
34
39
 
35
40
  export interface CartItemRelations {
36
41
  order?: OrderWithRelations[];
42
+ customers?: Customer[];
37
43
  }
38
44
 
39
45
  export type CartItemWithRelations = CartItem & CartItemRelations;
@@ -41,4 +47,10 @@ export type CartItemWithRelations = CartItem & CartItemRelations;
41
47
  export interface CartItemRepository
42
48
  extends EntityCrudRepository<CartItem, typeof CartItem.prototype.id> {
43
49
  order: BelongsToAccessor<Order, MixedIdType>;
50
+ customers: HasManyThroughRepositoryFactory<
51
+ Customer,
52
+ MixedIdType,
53
+ CustomerCartItemLink,
54
+ MixedIdType
55
+ >;
44
56
  }
@@ -7,11 +7,20 @@ import {
7
7
  BelongsToAccessor,
8
8
  BelongsToDefinition,
9
9
  createBelongsToAccessor,
10
+ createHasManyThroughRepositoryFactory,
10
11
  Getter,
12
+ HasManyDefinition,
13
+ HasManyThroughRepositoryFactory,
11
14
  juggler,
12
15
  } from '@loopback/repository';
13
16
  import {CrudRepositoryCtor} from '../../../..';
14
- import {CartItem, CartItemRelations, Order} from '../models';
17
+ import {
18
+ CartItem,
19
+ CartItemRelations,
20
+ Customer,
21
+ CustomerCartItemLink,
22
+ Order,
23
+ } from '../models';
15
24
 
16
25
  // create the CartItemRepo by calling this func so that it can be extended from CrudRepositoryCtor
17
26
  export function createCartItemRepo(repoClass: CrudRepositoryCtor) {
@@ -24,9 +33,19 @@ export function createCartItemRepo(repoClass: CrudRepositoryCtor) {
24
33
  Order,
25
34
  typeof CartItem.prototype.id
26
35
  >;
36
+
37
+ public readonly customers: HasManyThroughRepositoryFactory<
38
+ Customer,
39
+ typeof Customer.prototype.id,
40
+ CustomerCartItemLink,
41
+ typeof CustomerCartItemLink.prototype.id
42
+ >;
43
+
27
44
  constructor(
28
45
  db: juggler.DataSource,
29
46
  orderRepositoryGetter: Getter<typeof repoClass.prototype>,
47
+ customerRepositoryGetter: Getter<typeof repoClass.prototype>,
48
+ customerCartItemLinkRepositoryGetter: Getter<typeof repoClass.prototype>,
30
49
  ) {
31
50
  super(CartItem, db);
32
51
  const ordersMeta = this.entityClass.definition.relations['order'];
@@ -35,6 +54,13 @@ export function createCartItemRepo(repoClass: CrudRepositoryCtor) {
35
54
  orderRepositoryGetter,
36
55
  this,
37
56
  );
57
+
58
+ const customersMeta = this.entityClass.definition.relations['customers'];
59
+ this.customers = createHasManyThroughRepositoryFactory(
60
+ customersMeta as HasManyDefinition,
61
+ customerRepositoryGetter,
62
+ customerCartItemLinkRepositoryGetter,
63
+ );
38
64
  }
39
65
  };
40
66
  }
@@ -201,6 +201,8 @@ export function givenBoundCrudRepositories(
201
201
  const cartItemRepo: CartItemRepository = new cartItemRepoClass(
202
202
  db,
203
203
  async () => orderRepo,
204
+ async () => customerRepo,
205
+ async () => customerCartItemLinkRepo,
204
206
  );
205
207
 
206
208
  cartItemRepo.inclusionResolvers.set(
@@ -208,6 +210,11 @@ export function givenBoundCrudRepositories(
208
210
  cartItemRepo.order.inclusionResolver,
209
211
  );
210
212
 
213
+ cartItemRepo.inclusionResolvers.set(
214
+ 'customers',
215
+ cartItemRepo.customers.inclusionResolver,
216
+ );
217
+
211
218
  const customerCartItemLinkRepoClass =
212
219
  createCustomerCartItemLinkRepo(repositoryClass);
213
220
  const customerCartItemLinkRepo: CustomerCartItemLinkRepository =