Mongolid\Model\RelationsTest::testShouldEmbedsOne PHP Метод

testShouldEmbedsOne() публичный Метод

public testShouldEmbedsOne ( $entity, $field, $fieldValue, $expectedItems )
    public function testShouldEmbedsOne($entity, $field, $fieldValue, $expectedItems)
    {
        // Set
        $model = m::mock(ActiveRecord::class . '[]');
        $cursorFactory = m::mock(CursorFactory::class);
        $cursor = m::mock(EmbeddedCursor::class);
        $document = $fieldValue;
        $model->{$field} = $document;
        $instantiableClass = $entity instanceof Schema ? 'stdClass' : get_class($entity);
        // Act
        Ioc::instance(CursorFactory::class, $cursorFactory);
        $cursorFactory->shouldReceive('createEmbeddedCursor')->once()->with($instantiableClass, $expectedItems)->andReturn($cursor);
        $cursor->shouldReceive('first')->once()->andReturn(new $instantiableClass());
        // Assert
        $result = $this->callProtected($model, 'embedsOne', [get_class($entity), $field]);
        $this->assertInstanceOf($instantiableClass, $result);
    }