Passed
Pull Request — master (#84)
by Frank
16:51 queued 06:51
created

DummyAggregate   A

Complexity

Total Complexity 8

Size/Duplication

Total Lines 50
Duplicated Lines 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
eloc 12
dl 0
loc 50
rs 10
c 1
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 int $incrementedNumber = 0;
16
17
    public static function create(DummyAggregateRootId $aggregateRootId): DummyAggregate
18
    {
19
        $aggregate = new static($aggregateRootId);
20
        $aggregate->recordThat(new AggregateWasInitiated());
21
22
        return $aggregate;
23
    }
24
25
    protected function applyAggregateWasInitiated(): void
26
    {
27
        // cool
28
    }
29
30
    public function performDummyTask(): void
31
    {
32
        $this->recordThat(new DummyTaskWasExecuted());
33
    }
34
35
    public function increment(): void
36
    {
37
        $this->recordThat(
38
            new DummyIncrementingHappened(
39
                $this->incrementedNumber + 1
40
            )
41
        );
42
    }
43
44
    protected function applyDummyIncrementingHappened(DummyIncrementingHappened $event): void
45
    {
46
        $this->incrementedNumber = $event->number();
47
    }
48
49
    protected function applyDummyTaskWasExecuted(/* @scrutinizer ignore-unused */ DummyTaskWasExecuted $event): void
50
    {
51
    }
52
53
    public function dontDoAnything(): void
54
    {
55
        // not doing anything.
56
    }
57
58
    public function throwAnException(): void
59
    {
60
        throw new DummyException();
61
    }
62
}
63