✨feature: Add projects homepage and support for adding new projects
This commit is contained in:
@@ -26,7 +26,6 @@ final class BoardServiceTest extends IntegrationTestCase
|
||||
{
|
||||
$projectId = $this->createProject();
|
||||
$service = new BoardService();
|
||||
|
||||
$state = $service->getBoardState($projectId);
|
||||
|
||||
self::assertSame(
|
||||
@@ -38,6 +37,27 @@ final class BoardServiceTest extends IntegrationTestCase
|
||||
self::assertSame('Demo Project', $state['project']['title']);
|
||||
}
|
||||
|
||||
/**
|
||||
* Ensure creating a project initializes markdown storage and default board state.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function testCreateProjectBuildsInitialBoardState(): void
|
||||
{
|
||||
$service = new BoardService();
|
||||
|
||||
$state = $service->createProject('Release Planning', 'Track launch work.', 'release-planning');
|
||||
|
||||
self::assertSame('release-planning', $state['project']['id']);
|
||||
self::assertSame('Release Planning', $state['project']['title']);
|
||||
self::assertSame('Track launch work.', trim((string) $state['project']['body']));
|
||||
self::assertSame(
|
||||
['backlog', 'ready', 'in-progress', 'review', 'done', 'trash'],
|
||||
array_column($state['columns'], 'id')
|
||||
);
|
||||
self::assertFileExists($this->projectRoot . DIRECTORY_SEPARATOR . 'release-planning' . DIRECTORY_SEPARATOR . 'index.md');
|
||||
}
|
||||
|
||||
/**
|
||||
* Ensure a created task is persisted and returned in board state.
|
||||
*
|
||||
|
||||
Reference in New Issue
Block a user