public function setUp()
 {
     parent::setUp();
     $user = aUser()->withId(101)->withLdapId('ldap_01')->withUserName('user_01')->build();
     $this->changeset = aChangeset()->build();
     $this->timestamp = '1433863107';
     $this->user_manager = stub('UserManager')->getUserById(101)->returns($user);
     UserManager::setInstance($this->user_manager);
 }
 public function setUp()
 {
     parent::setUp();
     $this->dao = mock('Tracker_Artifact_Changeset_IncomingMailDao');
     stub($this->dao)->searchByArtifactId(123)->returnsDar(array('changeset_id' => 1, 'raw_mail' => $this->raw_mail_creation), array('changeset_id' => 2, 'raw_mail' => $this->raw_mail_update));
     stub($this->dao)->searchByArtifactId(456)->returnsEmptyDar();
     $this->changeset_by_mail = stub('Tracker_Artifact_Changeset')->getId()->returns(1);
     $this->other_changeset_by_mail = stub('Tracker_Artifact_Changeset')->getId()->returns(2);
     $this->artifact_by_mail = anArtifact()->withId(123)->withChangesets(array($this->changeset_by_mail, $this->other_changeset_by_mail))->build();
     stub($this->changeset_by_mail)->getArtifact()->returns($this->artifact_by_mail);
     stub($this->other_changeset_by_mail)->getArtifact()->returns($this->artifact_by_mail);
     $this->changeset_by_web = stub('Tracker_Artifact_Changeset')->getId()->returns(3);
     $this->artifact_by_web = anArtifact()->withId(456)->withChangesets(array($this->changeset_by_web, aChangeset()->withId(4)->build()))->build();
     stub($this->changeset_by_web)->getArtifact()->returns($this->artifact_by_web);
     $this->retriever = new Tracker_Artifact_Changeset_IncomingMailGoldenRetriever($this->dao);
 }
 public function setUp()
 {
     parent::setUp();
     $this->artifact_xml = simplexml_load_string('<?xml version="1.0" encoding="UTF-8"?><artifacts />');
     $this->artifact_xml_exporter = new Tracker_XML_Exporter_ChildrenXMLExporterTest_ArtifactXMLExporter();
     $this->file_updater = mock('Tracker_XML_Updater_TemporaryFileXMLUpdater');
     $this->artifact_factory = mock('Tracker_ArtifactFactory');
     $artifact_1 = anArtifact()->withId($this->artifact_id_1)->build();
     $artifact_2 = anArtifact()->withId($this->artifact_id_2)->build();
     $this->last_changeset_1 = aChangeset()->withArtifact($artifact_1)->build();
     $this->last_changeset_2 = aChangeset()->withArtifact($artifact_2)->build();
     $artifact_1->setChangesets(array($this->last_changeset_1));
     $artifact_2->setChangesets(array($this->last_changeset_2));
     stub($this->artifact_factory)->getArtifactById($this->artifact_id_1)->returns($artifact_1);
     stub($this->artifact_factory)->getArtifactById($this->artifact_id_2)->returns($artifact_2);
     $this->collector = new Tracker_XML_ChildrenCollector();
     $this->exporter = new Tracker_XML_Exporter_ChildrenXMLExporter($this->artifact_xml_exporter, $this->file_updater, $this->artifact_factory, $this->collector);
 }
 public function itExportsToXML()
 {
     $user = aUser()->withId(101)->withLdapId('ldap_01')->withUserName('user_01')->build();
     $changeset = aChangeset()->build();
     $timestamp = '1433863107';
     $body = '<b> My comment 01</b>';
     $comment = new Tracker_Artifact_Changeset_Comment(1, $changeset, 0, 0, 101, $timestamp, $body, 'html', 0);
     $xml = '<?xml version="1.0" encoding="UTF-8"?>
             <comments/>';
     $changeset_node = new SimpleXMLElement($xml);
     stub($this->user_manager)->getUserById(101)->returns($user);
     $comment->exportToXML($changeset_node);
     $this->assertNotNull($changeset_node->comment);
     $this->assertNotNull($changeset_node->comment->submitted_by);
     $this->assertNotNull($changeset_node->comment->submitted_on);
     $this->assertNotNull($changeset_node->comment->body);
     $this->assertEqual((string) $changeset_node->comment->submitted_by, 'ldap_01');
     $this->assertEqual($changeset_node->comment->submitted_by['format'], 'ldap');
     $this->assertEqual((string) $changeset_node->comment->submitted_on, '2015-06-09T17:18:27+02:00');
     $this->assertEqual($changeset_node->comment->submitted_on['format'], 'ISO8601');
     $this->assertEqual((string) $changeset_node->comment->body, $body);
     $this->assertEqual($changeset_node->comment->body['format'], 'html');
 }