public function testShouldAddUpdateOneOperationToBulkWrite()
{
// Arrange
$entity = m::mock(HasSchemaInterface::class);
$mongoBulkWrite = m::mock(new MongoBulkWrite());
$id = '123';
$data = ['name' => 'John'];
// Expect
$entity->shouldReceive('getSchema')->once();
$mongoBulkWrite->shouldReceive('update')->once()->with(['_id' => $id], ['$set' => $data], ['upsert' => true]);
$bulkWrite = m::mock(BulkWrite::class . '[getBulkWrite]', [$entity]);
$bulkWrite->shouldReceive('getBulkWrite')->once()->with()->andReturn($mongoBulkWrite);
// Act
$bulkWrite->updateOne($id, $data);
}