public function testRunWorkflowWithValidParams()
 {
     $content = new ObjectModel\Content();
     $content->id = "testId1";
     $content->state = "new_content";
     $content->date = time();
     $content->tags = array(new ObjectModel\Tag("text1", "type"), new ObjectModel\Tag("text2", "type"));
     $source = new ObjectModel\Source();
     $source->id = "testId1";
     $source->parent = "testParentId";
     $source->score = 1;
     $source->name = "testName";
     $source->type = "testType";
     $source->subType = "testSubType";
     $content->source = $source;
     Modules\DataContext\MySql_V2\DataContext::SaveContent(array($content));
     $json = '{"id":"testId1","tagsRemoved":[{"text":"text1","type":"type"},{"text":"text2","type":"type"}],"tagsAdded":[{"text":"text3","type":"type"}]}';
     $workflow = new Workflows\ContentServices\UpdateContentTagging();
     $result = $workflow->RunWorkflow($json, "swiftriver_dev");
     $content = Modules\DataContext\MySql_V2\DataContext::GetContent(array("testId1"));
     $pdo = Modules\DataContext\MySql_V2\DataContext::PDOConnection();
     $pdo->exec("DELETE FROM SC_Content");
     $pdo->exec("DELETE FROM SC_Sources");
     $pdo->exec("DELETE FROM SC_Content_Tags");
     $pdo->exec("DELETE FROM SC_Tags");
     $pdo = null;
     $tags = $content[0]->tags;
     $this->assertEquals(1, \count($tags));
     $this->assertEquals("text3", $tags[0]->text);
     $this->assertEquals("type", $tags[0]->type);
 }
 public function testGetContentWithTwoIdsAndNoOrderBy()
 {
     $content1 = new ObjectModel\Content();
     $content1->id = "testId1";
     $content1->state = "new_content";
     $content1->date = time();
     $content1->tags = array(new ObjectModel\Tag("testText1", "testType1"), new ObjectModel\Tag("testText2", "testType2"));
     $source1 = new ObjectModel\Source();
     $source1->id = "testId1";
     $source1->parent = "testParentId";
     $source1->score = 1;
     $source1->name = "testName";
     $source1->type = "testType";
     $source1->subType = "testSubType";
     $content1->source = $source1;
     $content2 = new ObjectModel\Content();
     $content2->id = "testId2";
     $content2->state = "new_content";
     $content2->date = time();
     $content2->tags = array(new ObjectModel\Tag("testText1", "testType1"), new ObjectModel\Tag("testText2", "testType2"));
     $source2 = new ObjectModel\Source();
     $source2->id = "testId1";
     $source2->parent = "testParentId";
     $source2->score = 1;
     $source2->name = "testName";
     $source2->type = "testType";
     $source2->subType = "testSubType";
     $content2->source = $source2;
     Modules\DataContext\MySql_V2\DataContext::SaveContent(array($content1, $content2));
     $outArray = Modules\DataContext\MySql_V2\DataContext::GetContent(array("testId1", "testId2"));
     $pdo = Modules\DataContext\MySql_V2\DataContext::PDOConnection();
     $pdo->exec("DELETE FROM SC_Content");
     $pdo->exec("DELETE FROM SC_Sources");
     $pdo->exec("DELETE FROM SC_Content_Tags");
     $pdo->exec("DELETE FROM SC_Tags");
     $pdo = null;
     $this->assertEquals(true, \is_array($outArray));
     $this->assertEquals(2, \count($outArray));
     $this->assertEquals("testId1", $outArray[0]->id);
     $this->assertEquals("new_content", $outArray[0]->state);
     $t = $outArray[0]->tags;
     $this->assertEquals(true, \is_array($t));
     $this->assertEquals("testType1", $t[0]->type);
     $this->assertEquals("testtext1", $t[0]->text);
     $this->assertEquals("testType2", $t[1]->type);
     $this->assertEquals("testtext2", $t[1]->text);
     $s = $outArray[0]->source;
     $this->assertEquals("testId1", $s->id);
     $this->assertEquals("testParentId", $s->parent);
     $this->assertEquals("testName", $s->name);
     $this->assertEquals("testType", $s->type);
     $this->assertEquals("testSubType", $s->subType);
     $this->assertEquals("testId2", $outArray[1]->id);
     $this->assertEquals("new_content", $outArray[1]->state);
     $t = $outArray[1]->tags;
     $this->assertEquals(true, \is_array($t));
     $this->assertEquals("testType1", $t[0]->type);
     $this->assertEquals("testtext1", $t[0]->text);
     $this->assertEquals("testType2", $t[1]->type);
     $this->assertEquals("testtext2", $t[1]->text);
     $s = $outArray[1]->source;
     $this->assertEquals("testId1", $s->id);
     $this->assertEquals("testParentId", $s->parent);
     $this->assertEquals("testName", $s->name);
     $this->assertEquals("testType", $s->type);
     $this->assertEquals("testSubType", $s->subType);
 }