(fields)
| 153 | }); |
| 154 | |
| 155 | async function checkHydratesCorrectModels(fields) { |
| 156 | const baseEvent = new BaseEvent({ name: 'Base event' }); |
| 157 | const impressionEvent = new ImpressionEvent({ name: 'Impression event' }); |
| 158 | const conversionEvent = new ConversionEvent({ name: 'Conversion event', revenue: 1.337 }); |
| 159 | |
| 160 | await baseEvent.save(); |
| 161 | await impressionEvent.save(); |
| 162 | await conversionEvent.save(); |
| 163 | |
| 164 | const docs = await BaseEvent.find({}, fields).sort('name').exec(); |
| 165 | |
| 166 | assert.ok(docs[0] instanceof BaseEvent); |
| 167 | assert.equal(docs[0].name, 'Base event'); |
| 168 | |
| 169 | assert.ok(docs[1] instanceof ConversionEvent); |
| 170 | assert.equal(docs[1].schema.$originalSchemaId, ConversionEventSchema.$id); |
| 171 | assert.equal(docs[1].name, 'Conversion event'); |
| 172 | assert.equal(docs[1].revenue, undefined); |
| 173 | |
| 174 | assert.ok(docs[2] instanceof ImpressionEvent); |
| 175 | assert.equal(docs[2].schema.$originalSchemaId, ImpressionEventSchema.$id); |
| 176 | assert.equal(docs[2].name, 'Impression event'); |
| 177 | } |
| 178 | |
| 179 | it('hydrates correct models when fields selection set as string', async function() { |
| 180 | await checkHydratesCorrectModels('name'); |
no test coverage detected
searching dependent graphs…