Passed
Pull Request — master (#84)
by Frank
10:15 queued 08:09
created

DummyAggregate   A

Complexity

Total Complexity 8

Size/Duplication

Total Lines 50
Duplicated Lines 0 %

Test Coverage

Coverage 100%

Importance

Changes 0
Metric Value
eloc 12
dl 0
loc 50
ccs 23
cts 23
cp 1
rs 10
c 0
b 0
f 0
wmc 8

8 Methods

Rating   Name   Duplication   Size   Complexity  
A applyDummyIncrementingHappened() 0 3 1
A dontDoAnything() 0 2 1
A create() 0 6 1
A throwAnException() 0 3 1
A applyAggregateWasInitiated() 0 2 1
A applyDummyTaskWasExecuted() 0 2 1
A increment() 0 5 1
A performDummyTask() 0 3 1
1
<?php
2
3
declare(strict_types=1);
4
5
namespace EventSauce\EventSourcing\TestUtilities\TestingAggregates;
6
7
use EventSauce\EventSourcing\AggregateRoot;
8
use EventSauce\EventSourcing\AggregateRootBehaviour;
9
use EventSauce\EventSourcing\DummyAggregateRootId;
10
11
final class DummyAggregate implements AggregateRoot
12
{
13
    use AggregateRootBehaviour;
14
15
    private $incrementedNumber = 0;
16
17 1
    public static function create(DummyAggregateRootId $aggregateRootId)
18
    {
19 1
        $aggregate = new static($aggregateRootId);
20 1
        $aggregate->recordThat(new AggregateWasInitiated());
21
22 1
        return $aggregate;
23
    }
24
25 1
    protected function applyAggregateWasInitiated(): void
26
    {
27
        // cool
28 1
    }
29
30 1
    public function performDummyTask(): void
31
    {
32 1
        $this->recordThat(new DummyTaskWasExecuted());
33 1
    }
34
35 3
    public function increment(): void
36
    {
37 3
        $this->recordThat(
38 3
            new DummyIncrementingHappened(
39 3
                $this->incrementedNumber + 1
40
            )
41
        );
42 3
    }
43
44 3
    protected function applyDummyIncrementingHappened(DummyIncrementingHappened $event): void
45
    {
46 3
        $this->incrementedNumber = $event->number();
47 3
    }
48
49 1
    protected function applyDummyTaskWasExecuted(/* @scrutinizer ignore-unused */ DummyTaskWasExecuted $event): void
50
    {
51 1
    }
52
53 1
    public function dontDoAnything(): void
54
    {
55
        // not doing anything.
56 1
    }
57
58 3
    public function throwAnException(): void
59
    {
60 3
        throw new DummyException();
61
    }
62
}
63