board = new KanbanBoard(); } /** * @covers Modules\Kanban\Models\KanbanBoard * @group module */ public function testDefault() : void { self::assertEquals(0, $this->board->id); self::assertEquals(BoardStatus::ACTIVE, $this->board->status); self::assertEquals('', $this->board->name); self::assertEquals('', $this->board->description); self::assertEquals(0, $this->board->createdBy->id); self::assertInstanceOf('\DateTimeImmutable', $this->board->createdAt); self::assertEquals([], $this->board->getColumns()); } /** * @covers Modules\Kanban\Models\KanbanBoard * @group module */ public function testColumnsInputOutput() : void { $this->board->addColumn($column = new NullKanbanColumn(2)); self::assertEquals([$column], $this->board->getColumns()); } /** * @covers Modules\Kanban\Models\KanbanBoard * @group module */ public function testColumnRemove() : void { $this->board->addColumn(new NullKanbanColumn(2)); self::assertTrue($this->board->removeColumn(0)); self::assertCount(0, $this->board->getColumns()); self::assertFalse($this->board->removeColumn(0)); } /** * @covers Modules\Kanban\Models\KanbanBoard * @group module */ public function testSerialize() : void { $this->board->status = BoardStatus::ARCHIVED; $serialized = $this->board->jsonSerialize(); self::assertEquals( [ 'id' => 0, 'status' => BoardStatus::ARCHIVED, 'columns' => [], 'tags' => [], ], $serialized ); } }