Mongolid\Model\RelationsTest::testShouldReferenceOne PHP Method

testShouldReferenceOne() public method

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