public function testUpdateDocument() { $firstData = (object) array('_id' => 'fooBar', '_rev' => '1-3491449E1G4S91S648S7E49FE', 'foo' => 'bar', 'boo' => 'bar'); $secoundData = (object) array('foo' => 'dummy', 'boo' => 'dummy'); $mockReturn = (object) array('ok' => true, 'id' => $firstData->_id, 'rev' => '2-3491449E1F89EF1E6F87E49FE'); $this->mockClient = $this->getMock('Klinai\\Client\\Client'); $this->mockClient->expects($this->any())->method('storeDoc')->will($this->returnValue($mockReturn)); $doc = new Document(clone $firstData, $this->mockClient, 'client_test1'); $doc->disableAutoRecord(); $doc->foo = $secoundData->foo; $doc->boo = $secoundData->boo; $this->assertEquals($doc->_id, $firstData->_id); $this->assertEquals($doc->_rev, $firstData->_rev); $this->assertEquals($doc->foo, $secoundData->foo); $this->assertEquals($doc->boo, $secoundData->boo); $doc->record(); $this->assertEquals($doc->_id, $firstData->_id); $this->assertNotEquals($doc->_rev, $firstData->_rev); $this->assertEquals($doc->_rev, $mockReturn->rev); $this->assertEquals($doc->foo, $secoundData->foo); $this->assertEquals($doc->boo, $secoundData->boo); }