/
home
/
obinna
/
html
/
cravings
/
vendor
/
mongodb
/
mongodb
/
tests
/
Operation
/
Upload File
HOME
<?php namespace MongoDB\Tests\Operation; use MongoDB\Exception\InvalidArgumentException; use MongoDB\Operation\Update; class UpdateTest extends TestCase { /** * @dataProvider provideInvalidDocumentValues */ public function testConstructorFilterArgumentTypeCheck($filter) { $this->expectException(InvalidArgumentException::class); $this->expectExceptionMessageRegExp('/Expected \$filter to have type "array or object" but found "[\w ]+"/'); new Update($this->getDatabaseName(), $this->getCollectionName(), $filter, ['$set' => ['x' => 1]]); } /** * @dataProvider provideInvalidDocumentValues */ public function testConstructorUpdateArgumentTypeCheck($update) { $this->expectException(InvalidArgumentException::class); $this->expectExceptionMessageRegExp('/Expected \$update to have type "array or object" but found "[\w ]+"/'); new Update($this->getDatabaseName(), $this->getCollectionName(), ['x' => 1], $update); } /** * @dataProvider provideInvalidConstructorOptions */ public function testConstructorOptionTypeChecks(array $options) { $this->expectException(InvalidArgumentException::class); new Update($this->getDatabaseName(), $this->getCollectionName(), ['x' => 1], ['y' => 1], $options); } public function provideInvalidConstructorOptions() { $options = []; foreach ($this->getInvalidArrayValues() as $value) { $options[][] = ['arrayFilters' => $value]; } foreach ($this->getInvalidBooleanValues() as $value) { $options[][] = ['bypassDocumentValidation' => $value]; } foreach ($this->getInvalidDocumentValues() as $value) { $options[][] = ['collation' => $value]; } foreach ($this->getInvalidBooleanValues(true) as $value) { $options[][] = ['multi' => $value]; } foreach ($this->getInvalidSessionValues() as $value) { $options[][] = ['session' => $value]; } foreach ($this->getInvalidBooleanValues(true) as $value) { $options[][] = ['upsert' => $value]; } foreach ($this->getInvalidWriteConcernValues() as $value) { $options[][] = ['writeConcern' => $value]; } return $options; } }