diff --git a/lib/Service/CardService.php b/lib/Service/CardService.php index 695a249d6..95ae21e8e 100644 --- a/lib/Service/CardService.php +++ b/lib/Service/CardService.php @@ -372,7 +372,7 @@ public function cloneCard(int $id, ?int $targetStackId = null):Card { $targetStackId = $originCard->getStackId(); } $this->permissionService->checkPermission($this->stackMapper, $targetStackId, Acl::PERMISSION_EDIT); - $newCard = $this->create($originCard->getTitle(), $targetStackId, $originCard->getType(), $originCard->getOrder(), $originCard->getOwner()); + $newCard = $this->create($originCard->getTitle(), $targetStackId, $originCard->getType(), $originCard->getOrder(), $originCard->getOwner(), color: $originCard->getColor()); $boardId = $this->stackMapper->findBoardId($targetStackId); foreach ($this->labelMapper->findAssignedLabelsForCard($id) as $label) { if ($boardId !== $this->stackMapper->findBoardId($originCard->getStackId())) { diff --git a/src/components/cards/CardItem.vue b/src/components/cards/CardItem.vue index e23c5e9f9..34925f757 100644 --- a/src/components/cards/CardItem.vue +++ b/src/components/cards/CardItem.vue @@ -7,7 +7,7 @@
setOwner('admin'); $card->setStackId(12345); $card->setDescription('A test description'); + $card->setColor('FF0000'); $clonedCard = clone $card; $clonedCard->setId(2); $clonedCard->setStackId(1234); + $inserted = []; $this->cardMapper->expects($this->exactly(2)) ->method('insert') - ->willReturn($card, $clonedCard); + ->willReturnCallback(function (Card $entity) use (&$inserted, $card, $clonedCard) { + $inserted[] = $entity; + return count($inserted) === 1 ? $card : $clonedCard; + }); $this->cardMapper->expects($this->once()) ->method('update')->willReturn($clonedCard); @@ -403,6 +408,7 @@ public function testClone() { $this->assertNotEquals($b->getStackId(), $c->getStackId()); $this->assertEquals('A test description', $c->getDescription()); + $this->assertEquals('FF0000', $inserted[1]->getColor()); $this->assertCount(1, $c->getLabels()); $this->assertEquals($label->getId(), $c->getLabels()[0]->getId());