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

RonasIT / laravel-helpers / 26278713848

22 May 2026 09:03AM UTC coverage: 86.214% (+0.1%) from 86.087%
26278713848

Pull #287

github

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

19 of 20 new or added lines in 1 file covered. (95.0%)

1207 of 1400 relevant lines covered (86.21%)

17.29 hits per line

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

95.83
/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
        $className = $job['job'];
3✔
49

50
        return new $className(...$data);
3✔
51
    }
52

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

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

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

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

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