public function testMoveColumns() { $p = new Project($this->registry); $b = new Board($this->registry); // We create 2 projects $this->assertEquals(1, $p->create(array('name' => 'UnitTest1'))); $this->assertEquals(2, $p->create(array('name' => 'UnitTest2'))); // We get the columns of the project 2 $columns = $b->getColumns(2); $columns_id = array_keys($b->getColumnsList(2)); $this->assertNotEmpty($columns); // Initial order: 5, 6, 7, 8 // Move the column 1 down $this->assertEquals(1, $columns[0]['position']); $this->assertEquals($columns_id[0], $columns[0]['id']); $this->assertEquals(2, $columns[1]['position']); $this->assertEquals($columns_id[1], $columns[1]['id']); $this->assertTrue($b->moveDown(2, $columns[0]['id'])); $columns = $b->getColumns(2); // Sorted by position // New order: 6, 5, 7, 8 $this->assertEquals(1, $columns[0]['position']); $this->assertEquals($columns_id[1], $columns[0]['id']); $this->assertEquals(2, $columns[1]['position']); $this->assertEquals($columns_id[0], $columns[1]['id']); // Move the column 3 up $this->assertTrue($b->moveUp(2, $columns[2]['id'])); $columns = $b->getColumns(2); // New order: 6, 7, 5, 8 $this->assertEquals(1, $columns[0]['position']); $this->assertEquals($columns_id[1], $columns[0]['id']); $this->assertEquals(2, $columns[1]['position']); $this->assertEquals($columns_id[2], $columns[1]['id']); $this->assertEquals(3, $columns[2]['position']); $this->assertEquals($columns_id[0], $columns[2]['id']); // Move column 1 up (must do nothing because it's the first column) $this->assertFalse($b->moveUp(2, $columns[0]['id'])); $columns = $b->getColumns(2); // Order: 6, 7, 5, 8 $this->assertEquals(1, $columns[0]['position']); $this->assertEquals($columns_id[1], $columns[0]['id']); // Move column 4 down (must do nothing because it's the last column) $this->assertFalse($b->moveDown(2, $columns[3]['id'])); $columns = $b->getColumns(2); // Order: 6, 7, 5, 8 $this->assertEquals(4, $columns[3]['position']); $this->assertEquals($columns_id[3], $columns[3]['id']); }
public function testMoveDownAndRemoveColumn() { $p = new Project($this->container); $b = new Board($this->container); // We create a project $this->assertEquals(1, $p->create(array('name' => 'UnitTest1'))); // We remove the second column $this->assertTrue($b->removeColumn(2)); $columns = $b->getColumns(1); $this->assertNotEmpty($columns); $this->assertCount(3, $columns); $this->assertEquals(1, $columns[0]['position']); $this->assertEquals(3, $columns[1]['position']); $this->assertEquals(4, $columns[2]['position']); $this->assertEquals(1, $columns[0]['id']); $this->assertEquals(3, $columns[1]['id']); $this->assertEquals(4, $columns[2]['id']); // We move up the second column $this->assertTrue($b->moveDown(1, $columns[0]['id'])); // Check the new positions $columns = $b->getColumns(1); $this->assertNotEmpty($columns); $this->assertCount(3, $columns); $this->assertEquals(1, $columns[0]['position']); $this->assertEquals(2, $columns[1]['position']); $this->assertEquals(3, $columns[2]['position']); $this->assertEquals(3, $columns[0]['id']); $this->assertEquals(1, $columns[1]['id']); $this->assertEquals(4, $columns[2]['id']); }
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) { return $project->disablePublicAccess($project_id); }); /** * Board procedures */ $server->register('getBoard', function ($project_id) use($board) { return $board->get($project_id); }); $server->register('getColumns', function ($project_id) use($board) { return $board->getColumns($project_id); }); $server->register('moveColumnUp', function ($project_id, $column_id) use($board) { return $board->moveUp($project_id, $column_id); }); $server->register('moveColumnDown', function ($project_id, $column_id) use($board) { return $board->moveDown($project_id, $column_id); }); $server->register('updateColumn', function ($column_id, array $values) use($board) { return $board->updateColumn($column_id, $values); }); $server->register('addColumn', function ($project_id, array $values) use($board) { $values += array('project_id' => $project_id); return $board->add($values); }); $server->register('removeColumn', function ($column_id) use($board) {