Passed
Push — master ( 9213a8...e174b6 )
by Kevin
02:14
created

TaskRunContextTest   A

Complexity

Total Complexity 2

Size/Duplication

Total Lines 26
Duplicated Lines 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
wmc 2
eloc 9
c 1
b 0
f 0
dl 0
loc 26
rs 10

2 Methods

Rating   Name   Duplication   Size   Complexity  
A cannot_set_result_for_different_task() 0 8 1
A cannot_access_result_if_has_not_run() 0 8 1
1
<?php
2
3
namespace Zenstruck\ScheduleBundle\Tests\Schedule\Task;
4
5
use PHPUnit\Framework\TestCase;
0 ignored issues
show
Bug introduced by
The type PHPUnit\Framework\TestCase was not found. Maybe you did not declare it correctly or list all dependencies?

The issue could also be caused by a filter entry in the build configuration. If the path has been excluded in your configuration, e.g. excluded_paths: ["lib/*"], you can move it to the dependency path list as follows:

filter:
    dependency_paths: ["lib/*"]

For further information see https://scrutinizer-ci.com/docs/tools/php/php-scrutinizer/#list-dependency-paths

Loading history...
6
use Zenstruck\ScheduleBundle\Schedule;
7
use Zenstruck\ScheduleBundle\Schedule\ScheduleRunContext;
8
use Zenstruck\ScheduleBundle\Schedule\Task\Result;
9
use Zenstruck\ScheduleBundle\Schedule\Task\TaskRunContext;
10
use Zenstruck\ScheduleBundle\Tests\Fixture\MockTask;
11
12
/**
13
 * @author Kevin Bond <[email protected]>
14
 */
15
final class TaskRunContextTest extends TestCase
16
{
17
    /**
18
     * @test
19
     */
20
    public function cannot_access_result_if_has_not_run()
21
    {
22
        $context = new TaskRunContext(new ScheduleRunContext(new Schedule()), new MockTask('my task'));
23
24
        $this->expectException(\LogicException::class);
25
        $this->expectExceptionMessage('"MockTask: my task" has not yet run.');
26
27
        $context->result();
28
    }
29
30
    /**
31
     * @test
32
     */
33
    public function cannot_set_result_for_different_task()
34
    {
35
        $context = new TaskRunContext(new ScheduleRunContext(new Schedule()), new MockTask('my task'));
36
37
        $this->expectException(\LogicException::class);
38
        $this->expectExceptionMessage("The result's task (MockTask: another task) does not match the context's task (MockTask: my task).");
39
40
        $context->setResult(Result::successful(new MockTask('another task')));
41
    }
42
}
43