Code Duplication    Length = 33-34 lines in 2 locations

tests/Command/UserCommandsTest.php 2 locations

@@ 60-92 (lines=33) @@
57
    /**
58
     * @test
59
     */
60
    public function usersCanChangePassword()
61
    {
62
        $register = new RegisterUser('test', '[email protected]', '123', [new Role('ROLE_USER')]);
63
        $this->getCommandBus()->handle($register);
64
65
        $user = $this->getUserRepository()->getByUsername($register->getUsername());
66
        $beginningPwd = $user->getPassword();
67
        $command = new ChangePassword('456', $user->getId());
68
69
        $commandRepo = $this->getCommandRepository();
70
        $this->handleCommandAndAssertTraced(
71
            $this->getCommandBus(),
72
            $command,
73
            $commandRepo
74
        );
75
        $endPwd = $user->getPassword();
76
77
        $this->assertNotEquals($beginningPwd, $endPwd);
78
79
        $eventRepository = $this->getEventRepository();
80
81
        $foundEvents = $eventRepository->getByMessage(PasswordChanged::class);
82
        $this->assertCount(1, $foundEvents);
83
84
        /** @var PasswordChanged $event */
85
        $event = $foundEvents[0];
86
        $this->assertInstanceOf(PasswordChanged::class, $event);
87
        $this->assertEquals($command->getUserId(), $event->getUserId());
88
        $this->assertNotEquals($event->getOldPassword(), $event->getNewPassword());
89
90
        $foundEvent = $eventRepository->get($event->getId());
91
        $this->assertSame($event, $foundEvent);
92
    }
93
94
    /**
95
     * @test
@@ 97-130 (lines=34) @@
94
    /**
95
     * @test
96
     */
97
    public function usersCanChangeEmail()
98
    {
99
        $register = new RegisterUser('test', '[email protected]', '123', [new Role('ROLE_USER')]);
100
        $this->getCommandBus()->handle($register);
101
102
        $user = $this->getUserRepository()->getByUsername($register->getUsername());
103
        $beforeEmail = $user->getEmail();
104
        $command = new ChangeEmail('[email protected]', $user->getId());
105
106
        $commandRepo = $this->getCommandRepository();
107
        $this->handleCommandAndAssertTraced(
108
            $this->getCommandBus(),
109
            $command,
110
            $commandRepo
111
        );
112
        $afterEmail = $user->getEmail();
113
114
        $this->assertNotEquals($beforeEmail, $afterEmail);
115
        $this->assertEquals('[email protected]', $afterEmail);
116
117
        $eventRepository = $this->getEventRepository();
118
119
        $foundEvents = $eventRepository->getByMessage(EmailChanged::class);
120
        $this->assertCount(1, $foundEvents);
121
122
        /** @var EmailChanged $event */
123
        $event = $foundEvents[0];
124
        $this->assertInstanceOf(EmailChanged::class, $event);
125
        $this->assertEquals($beforeEmail, $event->getOldEmail());
126
        $this->assertEquals($afterEmail, $event->getNewEmail());
127
128
        $foundEvent = $eventRepository->get($event->getId());
129
        $this->assertSame($event, $foundEvent);
130
    }
131
132
    private function getUserRepository(): UserRepository
133
    {