Mongolid\DataMapper\BulkWriteTest::testShouldExecuteBulkWrite PHP Метод

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

    public function testShouldExecuteBulkWrite()
    {
        $entity = m::mock(HasSchemaInterface::class);
        $schema = m::mock(Schema::class);
        $entity->schema = $schema;
        $mongoBulkWrite = m::mock(new MongoBulkWrite());
        $pool = m::mock(Pool::class);
        $connection = m::mock(Connection::class);
        $manager = m::mock(Manager::class);
        $connection->defaultDatabase = 'foo';
        $schema->collection = 'bar';
        $namespace = 'foo.bar';
        Ioc::instance(Pool::class, $pool);
        // Expect
        $entity->shouldReceive('getSchema')->once()->with()->andReturn($schema);
        $pool->shouldReceive('getConnection')->once()->with()->andReturn($connection);
        $connection->shouldReceive('getRawManager')->once()->with()->andReturn($manager);
        $manager->shouldReceive('executeBulkWrite')->once()->with($namespace, $mongoBulkWrite, m::type(WriteConcern::class))->andReturn(true);
        $bulkWrite = m::mock(BulkWrite::class . '[getBulkWrite]', [$entity]);
        $bulkWrite->shouldReceive('getBulkWrite')->once()->with()->andReturn($mongoBulkWrite);
        // Act
        $bulkWrite->execute();
    }