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

RonasIT / laravel-helpers / 26275645489

22 May 2026 07:54AM UTC coverage: 86.165% (+0.08%) from 86.087%
26275645489

Pull #287

github

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

14 of 15 new or added lines in 1 file covered. (93.33%)

1202 of 1395 relevant lines covered (86.16%)

17.15 hits per line

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

94.74
/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(
16
        string $expectedClassName,
17
        string $expectedMessage,
18
        bool $isStrict = true,
19
    ): void {
20
        $this->expectException($expectedClassName);
4✔
21

22
        $expectedMessage = preg_quote($expectedMessage, '/');
4✔
23

24
        $expectedMessage = ($isStrict) ? "^{$expectedMessage}$" : $expectedMessage;
4✔
25

26
        $this->expectExceptionMessageMatches("/{$expectedMessage}/");
4✔
27
    }
28

29
    protected function assertQueueEqualsFixture(string $fixture, bool $exportMode = false): void
30
    {
31
        $actualData = [];
1✔
32

33
        foreach (Queue::pushedJobs() as $namespace => $jobs) {
1✔
34
            $actualData[$namespace] = Arr::map($jobs, fn ($job) => is_object($job['job'])
1✔
35
                ? $this->getObjectAttributes($job['job'])
1✔
36
                : $this->getObjectAttributes(new $job['job'](...$job['data'])),
1✔
37
            );
1✔
38
        }
39

40
        $this->assertEqualsFixture("queue_states/{$fixture}", $actualData, $exportMode);
1✔
41
    }
42

43
    protected function assertQueueEmpty(): void
44
    {
45
        $this->assertEquals([], Queue::pushedJobs(), 'Failed assert that faked queue is empty.');
1✔
46
    }
47

48
    protected function getObjectAttributes(object $object): array
49
    {
50
        $result = [];
1✔
51

52
        $properties = (new ReflectionClass($object))->getProperties();
1✔
53

54
        foreach ($properties as $property) {
1✔
55
            $result[$property->getName()] = $property->isInitialized($object)
1✔
56
                ? $property->getValue($object)
1✔
NEW
57
                : null;
×
58
        }
59

60
        return json_decode(json_encode($result), true);
1✔
61
    }
62
}
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