Example #1
0
 public function testCreationWithDefaultCategories()
 {
     $p = new Project($this->container);
     $c = new Config($this->container);
     $cat = new Category($this->container);
     // Multiple categories correctly formatted
     $this->assertTrue($c->save(array('project_categories' => 'Test1, Test2')));
     $this->assertEquals(1, $p->create(array('name' => 'UnitTest1')));
     $project = $p->getById(1);
     $this->assertNotEmpty($project);
     $categories = $cat->getAll(1);
     $this->assertNotEmpty($categories);
     $this->assertEquals(2, count($categories));
     $this->assertEquals('Test1', $categories[0]['name']);
     $this->assertEquals('Test2', $categories[1]['name']);
     // Single category
     $this->assertTrue($c->save(array('project_categories' => 'Test1')));
     $this->assertEquals(2, $p->create(array('name' => 'UnitTest2')));
     $project = $p->getById(2);
     $this->assertNotEmpty($project);
     $categories = $cat->getAll(2);
     $this->assertNotEmpty($categories);
     $this->assertEquals(1, count($categories));
     $this->assertEquals('Test1', $categories[0]['name']);
     // Multiple categories badly formatted
     $this->assertTrue($c->save(array('project_categories' => 'ABC, , DEF 3,  ')));
     $this->assertEquals(3, $p->create(array('name' => 'UnitTest3')));
     $project = $p->getById(3);
     $this->assertNotEmpty($project);
     $categories = $cat->getAll(3);
     $this->assertNotEmpty($categories);
     $this->assertEquals(2, count($categories));
     $this->assertEquals('ABC', $categories[0]['name']);
     $this->assertEquals('DEF 3', $categories[1]['name']);
     // No default categories
     $this->assertTrue($c->save(array('project_categories' => '  ')));
     $this->assertEquals(4, $p->create(array('name' => 'UnitTest4')));
     $project = $p->getById(4);
     $this->assertNotEmpty($project);
     $categories = $cat->getAll(4);
     $this->assertEmpty($categories);
 }
 public function testCloneProjectWithCategories()
 {
     $p = new Project($this->container);
     $c = new Category($this->container);
     $this->assertEquals(1, $p->create(array('name' => 'P1')));
     $this->assertEquals(1, $c->create(array('name' => 'C1', 'project_id' => 1)));
     $this->assertEquals(2, $c->create(array('name' => 'C2', 'project_id' => 1)));
     $this->assertEquals(3, $c->create(array('name' => 'C3', 'project_id' => 1)));
     $this->assertEquals(2, $p->duplicate(1));
     $project = $p->getById(2);
     $this->assertNotEmpty($project);
     $this->assertEquals('P1 (Clone)', $project['name']);
     $categories = $c->getAll(2);
     $this->assertNotempty($categories);
     $this->assertEquals(3, count($categories));
     $this->assertEquals(4, $categories[0]['id']);
     $this->assertEquals('C1', $categories[0]['name']);
     $this->assertEquals(5, $categories[1]['id']);
     $this->assertEquals('C2', $categories[1]['name']);
     $this->assertEquals(6, $categories[2]['id']);
     $this->assertEquals('C3', $categories[2]['name']);
 }
Example #3
0
$server->register('removeUser', function ($user_id) use($user) {
    return $user->remove($user_id);
});
/**
 * Category procedures
 */
$server->register('createCategory', function ($project_id, $name) use($category) {
    $values = array('project_id' => $project_id, 'name' => $name);
    list($valid, ) = $category->validateCreation($values);
    return $valid && $category->create($values);
});
$server->register('getCategory', function ($category_id) use($category) {
    return $category->getById($category_id);
});
$server->register('getAllCategories', function ($project_id) use($category) {
    return $category->getAll($project_id);
});
$server->register('updateCategory', function ($id, $name) use($category) {
    $values = array('id' => $id, 'name' => $name);
    list($valid, ) = $category->validateModification($values);
    return $valid && $category->update($values);
});
$server->register('removeCategory', function ($category_id) use($category) {
    return $category->remove($category_id);
});
/**
 * Comments procedures
 */
$server->register('createComment', function (array $values) use($comment) {
    list($valid, ) = $comment->validateCreation($values);
    return $valid && $comment->create($values);