/** * try to move a contact to another container and check content sequence */ public function testMoveContactToContainer() { $sharedContainer = $this->_instance->addContainer(new Tinebase_Model_Container(array('name' => 'tine20shared', 'type' => Tinebase_Model_Container::TYPE_SHARED, 'owner_id' => Tinebase_Core::getUser(), 'backend' => 'Sql', 'application_id' => Tinebase_Application::getInstance()->getApplicationByName('Addressbook')->getId()))); $initialContainer = $this->_instance->get($this->objects['initialContainer']); $contact = new Addressbook_Model_Contact(array('n_family' => 'Tester', 'container_id' => $sharedContainer->getId())); $contact = Addressbook_Controller_Contact::getInstance()->create($contact); $filter = array(array('field' => 'id', 'operator' => 'in', 'value' => array($contact->getId()))); $containerJson = new Tinebase_Frontend_Json_Container(); $result = $containerJson->moveRecordsToContainer($initialContainer->getId(), $filter, 'Addressbook', 'Contact'); $this->assertEquals($contact->getId(), $result['results'][0]); $movedContact = Addressbook_Controller_Contact::getInstance()->get($contact->getId()); $this->assertEquals($initialContainer->getId(), $movedContact->container_id, 'contact has not been moved'); $contentSeqs = $this->_instance->getContentSequence(array($sharedContainer->getId(), $initialContainer->getId())); $this->assertEquals(2, $contentSeqs[$sharedContainer->getId()], 'content seq mismatch: ' . print_r($contentSeqs, TRUE)); $this->assertEquals(1, $contentSeqs[$initialContainer->getId()], 'content seq mismatch: ' . print_r($contentSeqs, TRUE)); // check container content $contentRecords = $this->_instance->getContentHistory($sharedContainer->getId()); $this->assertEquals(2, count($contentRecords)); $this->assertEquals($contact->getId(), $contentRecords->getFirstRecord()->record_id); $this->assertEquals(Tinebase_Model_ContainerContent::ACTION_CREATE, $contentRecords->getFirstRecord()->action); }