Exemplo n.º 1
0
 /**
  * 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);
 }