Code Coverage
 
Lines
Functions and Methods
Classes and Traits
Total
100.00% covered (success)
100.00%
5 / 5
100.00% covered (success)
100.00%
1 / 1
CRAP
100.00% covered (success)
100.00%
1 / 1
StockInputWarehouseIntegrationStoreService
100.00% covered (success)
100.00%
5 / 5
100.00% covered (success)
100.00%
1 / 1
1
100.00% covered (success)
100.00%
1 / 1
 store
100.00% covered (success)
100.00%
5 / 5
100.00% covered (success)
100.00%
1 / 1
1
1<?php
2
3namespace Domain\StockIO\Services;
4
5use App\Events\ServiceProcessed;
6use App\Models\Integration\Integration;
7use App\Models\User;
8use Domain\Integration\DTOs\IntegrationStockInputWarehouseDTO;
9use Domain\Integration\Interfaces\HasIntegration;
10
11readonly class StockInputWarehouseIntegrationStoreService
12{
13    /**
14     * @param IntegrationStockInputWarehouseDTO $integrationDTO
15     * @param HasIntegration $hasIntegration
16     * @param User $user
17     * @return HasIntegration
18     */
19    public function store(IntegrationStockInputWarehouseDTO $integrationDTO, HasIntegration $hasIntegration, User $user): HasIntegration
20    {
21        $integration = new Integration();
22        $integration->setAttribute('parameters', $integrationDTO->toArray());
23        $hasIntegration->integration()->save($integration);
24
25        ServiceProcessed::dispatch(self::class, $user);
26        return $hasIntegration;
27    }
28}