lithium\tests\cases\data\source\MongoDbTest::testDelete PHP Method

testDelete() public method

public testDelete ( )
    public function testDelete()
    {
        $model = $this->_model;
        $data = array('title' => 'Delete Me');
        array_push($this->_db->connection->results, true);
        $this->_query->data($data);
        $this->_db->create($this->_query);
        array_push($this->_db->connection->results, new MockResultResource(array('data' => array())));
        $this->assertFalse($this->_db->read($this->_query)->first());
        $result = array_pop($this->_db->connection->queries);
        $conditions = array('_id' => $this->_query->entity()->_id);
        $this->assertEqual($conditions, $result['conditions']);
        $this->assertTrue($this->_query->entity()->exists());
        $id = new MongoId();
        $this->_query = new Query(compact('model') + array('entity' => new Document(compact('model') + array('data' => array('_id' => $id)))));
        array_push($this->_db->connection->results, true);
        $this->_query->conditions($conditions);
        $this->assertTrue($this->_db->delete($this->_query));
        $this->assertFalse($this->_query->entity()->exists());
        $expected = compact('conditions') + array('type' => 'remove', 'collection' => 'posts', 'options' => array('justOne' => false, 'w' => 1, 'wTimeoutMS' => 10000, 'fsync' => false));
        $this->assertEqual($expected, array_pop($this->_db->connection->queries));
    }