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

RonasIT / laravel-helpers / 26278649686

22 May 2026 09:02AM UTC coverage: 86.204% (+0.1%) from 86.087%
26278649686

Pull #287

github

web-flow
Merge a88892fe2 into 01ab75628
Pull Request #287: feat: implement queue assertion helpers

18 of 19 new or added lines in 1 file covered. (94.74%)

1206 of 1399 relevant lines covered (86.2%)

17.3 hits per line

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

95.65
/src/Traits/TestingTrait.php
1
<?php
2

3
namespace RonasIT\Support\Traits;
4

5
use Illuminate\Support\Arr;
6
use Illuminate\Support\Facades\Queue;
7
use ReflectionClass;
8

9
trait TestingTrait
10
{
11
    use FixturesTrait;
12
    use MailsMockTrait;
13
    use MockTrait;
14

15
    protected function assertExceptionThrew(string $expectedClassName, string $expectedMessage, bool $isStrict = true): void
16
    {
17
        $this->expectException($expectedClassName);
4✔
18

19
        $expectedMessage = preg_quote($expectedMessage, '/');
4✔
20

21
        $expectedMessage = ($isStrict) ? "^{$expectedMessage}$" : $expectedMessage;
4✔
22

23
        $this->expectExceptionMessageMatches("/{$expectedMessage}/");
4✔
24
    }
25

26
    protected function assertQueueEqualsFixture(string $fixture, bool $exportMode = false): void
27
    {
28
        $actualData = [];
5✔
29

30
        foreach (Queue::pushedJobs() as $namespace => $jobs) {
5✔
31
            $actualData[$namespace] = Arr::map($jobs, function ($job) {
5✔
32
                $job = $this->getJobObject($job);
5✔
33

34
                return $this->getObjectAttributes($job);
5✔
35
            });
5✔
36
        }
37

38
        $this->assertEqualsFixture("queue_states/{$fixture}", $actualData, $exportMode);
5✔
39
    }
40

41
    protected function getJobObject(array $job)
42
    {
43
        if (is_object($job['job'])) {
5✔
44
            return $job['job'];
2✔
45
        }
46

47
        $data = Arr::wrap($job['data']);
3✔
48

49
        return new $job['job'](...$data);
3✔
50
    }
51

52
    protected function assertQueueEmpty(): void
53
    {
54
        $this->assertEquals([], Queue::pushedJobs(), 'Failed assert that faked queue is empty.');
1✔
55
    }
56

57
    protected function getObjectAttributes(object $object): array
58
    {
59
        $result = [];
5✔
60

61
        $properties = (new ReflectionClass($object))->getProperties();
5✔
62

63
        foreach ($properties as $property) {
5✔
64
            $result[$property->getName()] = $property->isInitialized($object)
5✔
65
                ? $property->getValue($object)
5✔
NEW
66
                : null;
×
67
        }
68

69
        return json_decode(json_encode($result), true);
5✔
70
    }
71
}
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