public function testShouldCopyToPage() { //GIVEN $oElement = AM_Model_Db_Table_Abstract::factory('element')->findOneBy('id', 1); $oResourceMock = $this->getMock('AM_Model_Db_Element_Data_Resource', array('copy'), array($oElement)); $oElement->setResources($oResourceMock); $aPageData = array('id' => 2, 'title' => 'test_page'); $oPage = new AM_Model_Db_Page(); $oPage->setFromArray($aPageData); //THEN $oResourceMock->expects($this->once())->method('copy'); //WHEN $oElement->copyToPage($oPage); $oElement->refresh(); //THEN $this->assertEquals(2, $oElement->page, 'Page id should change'); $oGivenDataSet = $this->getConnection()->createQueryTable('element', 'SELECT id, page FROM element ORDER BY id'); $oExpectedDataSet = $this->createFlatXMLDataSet(dirname(__FILE__) . '/_dataset/ElementCopyToPageTest.xml')->getTable('element'); $this->assertTablesEqual($oExpectedDataSet, $oGivenDataSet); }