Exemplo n.º 1
0
 public function testReferences()
 {
     /* This query return nothing currently */
     /* but will save a reference */
     $query = new Model1();
     $query->limit(2, 1);
     $query->sort('a DESC');
     $c = new Model1();
     $c->a = "foobar";
     $c->save();
     $ref = array('$ref' => 'model1', '$id' => $c->getID(), '$db' => DB, 'class' => 'Model1');
     $this->assertEquals($c->getReference(), $ref);
     $d = new Model1();
     $d->a = "barfoo";
     /* Reference into a document */
     $d->next = $c;
     /* References into sub documents */
     $d->nested = array($c, $c);
     /* MongoDBRef */
     $d->mdbref = MongoDBRef::create('model1', $c->getID());
     /* Get Dynamic query; AKA save the query */
     /* in this case it would be a get all */
     $d->query = $query->getReference(TRUE);
     $d->save();
 }
Exemplo n.º 2
0
 function testScalarToArray()
 {
     $c = new Model1();
     $c->a = 1;
     $c->save();
     $c->a = array(1, 2);
     $c->save();
     $c->a[0] = array(1, 2);
     $c->a[1] = 3;
     $c->save();
     $id = $c->getID();
     $c->reset();
     $c->where('_id', $id);
     $c->doQuery();
     $this->assertEquals(array(array(1, 2), 3), $c->a);
 }
Exemplo n.º 3
0
 /**
  *  Testing hook, modifing on update other documents
  */
 function testChanges()
 {
     Model1::addEvent('after_update', array($this, 'model1_after_update'));
     $m1 = new Model1();
     $m1->a = 1;
     $m1->b = 2;
     $m1->save();
     $data = array();
     for ($i = 0; $i < 1000; $i++) {
         $m2['M1'] = $m1->getID();
         $m2['a'] = $m1->a;
         $data[] = $m2;
     }
     Model2::batchInsert($data);
     $m1->a = 50;
     $m1->save();
     $m2 = new Model2();
     foreach ($m2->where("M1", $m1->getID()) as $item) {
         $this->assertEquals($m1->a, $item->a);
     }
 }
Exemplo n.º 4
0
 function testFindWithSingleID()
 {
     $d = new Model1();
     $d->a = 5;
     $d->save();
     $c = new Model1();
     $c->find($d->getID());
     $this->assertEquals(1, $c->count());
     $this->assertEquals($c->a, $d->a);
 }