/**
  * @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()));
 }
示例#3
0
 /**
  * @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']));
 }