Code Coverage
 
Lines
Functions and Methods
Classes and Traits
Total
100.00% covered (success)
100.00%
6 / 6
100.00% covered (success)
100.00%
2 / 2
CRAP
100.00% covered (success)
100.00%
1 / 1
LoginEmailSenhaService
100.00% covered (success)
100.00%
6 / 6
100.00% covered (success)
100.00%
2 / 2
3
100.00% covered (success)
100.00%
1 / 1
 __construct
100.00% covered (success)
100.00%
1 / 1
100.00% covered (success)
100.00%
1 / 1
1
 execute
100.00% covered (success)
100.00%
5 / 5
100.00% covered (success)
100.00%
1 / 1
2
1<?php
2
3namespace Core\Services\Usuario;
4
5use Core\Models\{
6    Usuario,
7    CPF,
8    Email,
9};
10
11use Core\Repositories\{
12    IUsuariosRepository,
13};
14
15
16use Core\Providers\{
17    ICriptografiaProvider,
18};
19
20class LoginEmailSenhaService
21{
22    function __construct(
23        private IUsuariosRepository $repo,
24        private ICriptografiaProvider $crypt,
25    ){}
26
27    public function execute(
28        string $email,
29        string $senha,
30    ): bool {
31        $usuario = $this->repo->findByEmail($email);
32
33        if(empty($usuario)) {
34            return false;
35        }
36
37        $senhaDescriptografada = $this->crypt->decrypt($usuario->getSenha());
38        return $senhaDescriptografada === $senha;
39    }
40}
41