|
37 | 37 | use AbstractITILChildTemplate; |
38 | 38 | use Glpi\Tests\AbstractITILChildTemplateTest; |
39 | 39 | use TaskTemplate; |
| 40 | +use Ticket; |
| 41 | +use TicketTask; |
| 42 | +use User; |
40 | 43 |
|
41 | 44 | class TaskTemplateTest extends AbstractITILChildTemplateTest |
42 | 45 | { |
@@ -167,4 +170,32 @@ public function testSearchAbility() |
167 | 170 | $condition = TaskTemplate::addWhere('AND', 0, TaskTemplate::class, 7, 'equals', 0); |
168 | 171 | $this->assertEquals(' AND (`glpi_tasktemplates`.`use_current_user` = 0 AND `glpi_tasktemplates`.`users_id_tech` = 0)', $condition); |
169 | 172 | } |
| 173 | + |
| 174 | + public function testTemplateWithCurrentUserAsAuthor(): void |
| 175 | + { |
| 176 | + // Arrange: create a task template with the "current user" as author |
| 177 | + $template = $this->createItem(TaskTemplate::class, [ |
| 178 | + 'name' => 'my template', |
| 179 | + 'content' => '<p>test</p>', |
| 180 | + 'users_id_tech' => -1, |
| 181 | + ]); |
| 182 | + |
| 183 | + // Act: use the template to create a ticket with this task |
| 184 | + $this->login(); |
| 185 | + $ticket = $this->createItem(Ticket::class, [ |
| 186 | + 'name' => 'My ticket', |
| 187 | + 'content' => 'My content', |
| 188 | + '_tasktemplates_id' => [$template->getID()], |
| 189 | + ]); |
| 190 | + |
| 191 | + // Assert: task is created with the current user |
| 192 | + $task = new TicketTask(); |
| 193 | + $task->getFromDBByCrit([ |
| 194 | + 'tickets_id' => $ticket->getID(), |
| 195 | + ]); |
| 196 | + $this->assertEquals( |
| 197 | + getItemByTypeName(User::class, TU_USER, true), |
| 198 | + $task->fields['users_id_tech'] |
| 199 | + ); |
| 200 | + } |
170 | 201 | } |
0 commit comments