return $project->getById($project_id); }); $server->register('getProjectByName', function ($name) use($project) { return $project->getByName($name); }); $server->register('getAllProjects', function () use($project) { return $project->getAll(); }); $server->register('updateProject', function ($id, $name, $is_active = null, $is_public = null, $token = null) use($project) { $values = array('id' => $id, 'name' => $name, 'is_active' => $is_active, 'is_public' => $is_public, 'token' => $token); foreach ($values as $key => $value) { if (is_null($value)) { unset($values[$key]); } } list($valid, ) = $project->validateModification($values); return $valid && $project->update($values); }); $server->register('removeProject', function ($project_id) use($project) { return $project->remove($project_id); }); $server->register('enableProject', function ($project_id) use($project) { return $project->enable($project_id); }); $server->register('disableProject', function ($project_id) use($project) { return $project->disable($project_id); }); $server->register('enableProjectPublicAccess', function ($project_id) use($project) { return $project->enablePublicAccess($project_id); }); $server->register('disableProjectPublicAccess', function ($project_id) use($project) {
public function testIdentifier() { $p = new Project($this->container); // Creation $this->assertEquals(1, $p->create(array('name' => 'UnitTest1', 'identifier' => 'test1'))); $this->assertEquals(2, $p->create(array('name' => 'UnitTest2'))); $project = $p->getById(1); $this->assertNotEmpty($project); $this->assertEquals('TEST1', $project['identifier']); $project = $p->getById(2); $this->assertNotEmpty($project); $this->assertEquals('', $project['identifier']); // Update $this->assertTrue($p->update(array('id' => '2', 'identifier' => 'test2'))); $project = $p->getById(2); $this->assertNotEmpty($project); $this->assertEquals('TEST2', $project['identifier']); $project = $p->getByIdentifier('test1'); $this->assertNotEmpty($project); $this->assertEquals('TEST1', $project['identifier']); $project = $p->getByIdentifier(''); $this->assertFalse($project); // Validation rules $r = $p->validateCreation(array('name' => 'test', 'identifier' => 'TEST1')); $this->assertFalse($r[0]); $r = $p->validateCreation(array('name' => 'test', 'identifier' => 'test1')); $this->assertFalse($r[0]); $r = $p->validateModification(array('id' => 1, 'name' => 'test', 'identifier' => 'TEST1')); $this->assertTrue($r[0]); $r = $p->validateModification(array('id' => 1, 'name' => 'test', 'identifier' => 'test3')); $this->assertTrue($r[0]); $r = $p->validateModification(array('id' => 1, 'name' => 'test', 'identifier' => '')); $this->assertTrue($r[0]); $r = $p->validateModification(array('id' => 1, 'name' => 'test', 'identifier' => 'TEST2')); $this->assertFalse($r[0]); $r = $p->validateCreation(array('name' => 'test', 'identifier' => 'a-b-c')); $this->assertFalse($r[0]); $r = $p->validateCreation(array('name' => 'test', 'identifier' => 'test 123')); $this->assertFalse($r[0]); }