/** * @dataProvider getData * * @param array $data * * @return void */ public function test_function(array $data) { // prepare $this->setExpectedException($data['exception'], $data['errorMessage']); // invoke logic Mongo::initMongo($data['initialData'], $data['database'], []); if (isset($data['initTwice'])) { Mongo::initMongo($data['initialData'], $data['database'], []); } }
/** * @dataProvider getData * * @param array $data * * @return void */ public function test_function(array $data) { // prepare Mongo::initMongo(['collection1' => ['id1' => [1], 'id2' => [2]], 'collection2' => ['id3' => [1], 'id4' => [2]]], 'foo', []); $reflection = new \ReflectionClass('\\DbMockLibrary\\DbImplementations\\Mongo'); $dataProperty = $reflection->getProperty('data'); $dataProperty->setAccessible(true); $dataProperty->setValue(Mongo::getInstance(), ['collection1' => [], 'collection2' => []]); // invoke logic Mongo::getInstance()->revertCollections($data['collections']); // test $this->assertEquals($data['expected'], $dataProperty->getValue(Mongo::getInstance())); }
/** * @return void */ public function test_function() { // prepare $testCollection = $this->database->selectCollection('testCollection'); $result = iterator_to_array($testCollection->find(['_id' => 0])); $reflection = new \ReflectionClass(Mongo::getInstance()); $deleteMethod = $reflection->getMethod('delete'); $deleteMethod->setAccessible(true); // test $this->assertCount(1, $result); // invoke logic $deleteMethod->invoke(Mongo::getInstance(), 'testCollection', 1); // prepare $result = iterator_to_array($testCollection->find(['_id' => 0])); // test $this->assertCount(0, $result); }
/** * @return void */ public function test_function() { // prepare $dataArray = ['testCollection' => [1 => ['foo' => 1, 'id' => 1]]]; // invoke logic Mongo::initMongo($dataArray, 'DbMockLibraryTest', []); // prepare $reflection = new \ReflectionClass('\\DbMockLibrary\\DbImplementations\\Mongo'); $staticProperties = $reflection->getStaticProperties(); // test $this->assertInstanceOf('\\DbMockLibrary\\DbImplementations\\Mongo', $staticProperties['instance']); $this->assertEquals($dataArray, $staticProperties['initialData']); // prepare $dataProperty = $reflection->getProperty('data'); $dataProperty->setAccessible(true); // test $this->assertEquals($dataArray, $dataProperty->getValue($staticProperties['instance'])); }
/** * @return void */ public function test_function() { // prepare $dataArray = ['foo' => 1]; Mongo::initMongo($dataArray, 'fooBar', []); $reflection = new \ReflectionClass('\\DbMockLibrary\\DbImplementations\\Mongo'); $staticProperties = $reflection->getStaticProperties(); $dataProperty = $reflection->getProperty('data'); $dataProperty->setAccessible(true); // test $this->assertEquals($dataArray, $dataProperty->getValue($staticProperties['instance'])); // prepare $dataProperty->setValue($staticProperties['instance'], [2]); // test $this->assertNotEquals($dataArray, $dataProperty->getValue($staticProperties['instance'])); // invoke logic Mongo::getInstance()->resetData(); // test $this->assertEquals($dataArray, $dataProperty->getValue($staticProperties['instance'])); }