public function testShouldReferenceMany($entity, $field, $fieldValue, $expectedQuery)
{
// Set
$expectedQuery = $expectedQuery['referencesMany'];
$model = m::mock(ActiveRecord::class . '[]');
$dataMapper = m::mock(DataMapper::class)->makePartial();
$result = m::mock(Cursor::class);
$model->{$field} = $fieldValue;
// Act
Ioc::instance(DataMapper::class, $dataMapper);
Ioc::instance('EntityClass', $entity);
$dataMapper->shouldReceive('where')->once()->andReturnUsing(function ($query) use($result, $expectedQuery) {
$this->assertMongoQueryEquals($expectedQuery, $query);
return $result;
});
// Assert
$this->assertSame($result, $this->callProtected($model, 'referencesMany', ['EntityClass', $field]));
}