• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

tochka-developers / queue-promises / 9935584685

15 Jul 2024 07:44AM UTC coverage: 47.259% (-18.3%) from 65.524%
9935584685

push

github

darkdarin
fix: tests

4 of 4 new or added lines in 2 files covered. (100.0%)

431 existing lines in 40 files now uncovered.

612 of 1295 relevant lines covered (47.26%)

2.53 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

85.71
/src/Listeners/DispatchPromise.php
1
<?php
2

3
namespace Tochka\Promises\Listeners;
4

5
use Illuminate\Contracts\Bus\Dispatcher;
6
use Illuminate\Support\Facades\Event;
7
use Tochka\Promises\Contracts\CustomConnection;
8
use Tochka\Promises\Contracts\CustomQueue;
9
use Tochka\Promises\Core\Support\PromiseQueueJob;
10
use Tochka\Promises\Enums\StateEnum;
11
use Tochka\Promises\Events\PromiseHandlerDispatched;
12
use Tochka\Promises\Events\PromiseHandlerDispatching;
13
use Tochka\Promises\Events\PromiseStateChanged;
14
use Tochka\Promises\Listeners\Support\FilterTransitionsTrait;
15

16
/**
17
 * @api
18
 */
19
class DispatchPromise
20
{
21
    use FilterTransitionsTrait;
22

23
    public array $transitions = [
24
        'dispatchPromise' => [
25
            'from' => [
26
                StateEnum::WAITING,
27
                StateEnum::RUNNING,
28
            ],
29
            'to' => [
30
                StateEnum::SUCCESS,
31
                StateEnum::FAILED,
32
                StateEnum::TIMEOUT,
33
            ],
34
        ],
35
    ];
36

37
    public function __construct(
38
        private readonly Dispatcher $dispatcher,
39
    ) {}
3✔
40

41
    public function dispatchPromise(PromiseStateChanged $event): void
42
    {
43
        Event::dispatch(new PromiseHandlerDispatching($event->getPromise()));
3✔
44

45
        $promiseQueueJob = new PromiseQueueJob(
3✔
46
            $event->getPromise()->getPromiseId(),
3✔
47
            $event->getPromise()->getPromiseHandler(),
3✔
48
            $event->getPromise()->getState(),
3✔
49
        );
3✔
50

51
        $promiseHandler = $event->getPromise()->getPromiseHandler();
3✔
52

53
        if ($promiseHandler instanceof CustomConnection) {
3✔
UNCOV
54
            $promiseQueueJob->onConnection($promiseHandler->getConnection());
×
55
        }
56

57
        if ($promiseHandler instanceof CustomQueue) {
3✔
UNCOV
58
            $promiseQueueJob->onQueue($promiseHandler->getQueue());
×
59
        }
60

61
        $this->dispatcher->dispatch($promiseQueueJob);
3✔
62

63
        Event::dispatch(new PromiseHandlerDispatched($event->getPromise()));
3✔
64
    }
65
}
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc