[12.x] Add fakeFor and fakeExceptFor methods to Queue facade by MrPunyapal · Pull Request #56149 · laravel/framework · GitHub | Latest TMZ Celebrity News & Gossip | Watch TMZ Live
Skip to content

[12.x] Add fakeFor and fakeExceptFor methods to Queue facade #56149

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 6 commits into from
Jun 28, 2025

Conversation

MrPunyapal
Copy link
Contributor

@MrPunyapal MrPunyapal commented Jun 26, 2025

This PR adds temporary testing methods to the Queue facade, following the same pattern established by the Event facade in #24230.

What's Added

New Queue Facade Methods:

  • Queue::fakeExcept($jobsToAllow) - Creates a fake that allows certain jobs to be queued normally while faking others
  • Queue::fakeFor($callable, $jobsToFake = []) - Temporarily replaces the queue with a fake during the execution of a callable
  • Queue::fakeExceptFor($callable, $jobsToAllow = []) - Temporarily replaces the queue with a fake that allows certain jobs through during the execution of a callable

Benefits

Improved Test Isolation:

// Before: Fake affects the entire test
Queue::fake();
// ... test code ...
// Manual cleanup required

// After: Fake is automatically scoped
Queue::fakeFor(function () {
    Queue::push(new ProcessPayment);
    Queue::assertPushed(ProcessPayment::class);
}); // Original queue automatically restored

Selective Job Faking:

<?php
// Allow critical jobs to be queued normally, fake others
Queue::fakeExceptFor(function () {
    Queue::push(new CriticalSystemJob);  // Actually queued
    Queue::push(new EmailNotification);  // Faked
    
    Queue::assertNotPushed(CriticalSystemJob::class);
    Queue::assertPushed(EmailNotification::class);
}, [CriticalSystemJob::class]);

@MrPunyapal MrPunyapal changed the title [12.x] Feat: fake for and fake except for Queue [12.x] Add fakeFor and fakeExceptFor methods to Queue facade Jun 26, 2025
@taylorotwell taylorotwell merged commit d493d6f into laravel:12.x Jun 28, 2025
60 checks passed
@MrPunyapal MrPunyapal deleted the feat/fake-for-and-fake-Except branch June 29, 2025 02:10
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants

TMZ Celebrity News – Breaking Stories, Videos & Gossip

Looking for the latest TMZ celebrity news? You've come to the right place. From shocking Hollywood scandals to exclusive videos, TMZ delivers it all in real time.

Whether it’s a red carpet slip-up, a viral paparazzi moment, or a legal drama involving your favorite stars, TMZ news is always first to break the story. Stay in the loop with daily updates, insider tips, and jaw-dropping photos.

🎥 Watch TMZ Live

TMZ Live brings you daily celebrity news and interviews straight from the TMZ newsroom. Don’t miss a beat—watch now and see what’s trending in Hollywood.