/var/www/hkosl.com/nick/codeigniter/application/vendor/illuminate/support/Testing/Fakes/BusFake.php


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
<?php

namespace Illuminate\Support\Testing\Fakes;

use 
Illuminate\Contracts\Bus\Dispatcher;
use 
PHPUnit\Framework\Assert as PHPUnit;

class 
BusFake implements Dispatcher
{
    
/**
     * The commands that have been dispatched.
     *
     * @var array
     */
    
protected $commands = [];

    
/**
     * Assert if a job was dispatched based on a truth-test callback.
     *
     * @param  string  $command
     * @param  callable|null  $callback
     * @return void
     */
    
public function assertDispatched($command$callback null)
    {
        
PHPUnit::assertTrue(
            
$this->dispatched($command$callback)->count() > 0,
            
"The expected [{$command}] job was not dispatched."
        
);
    }

    
/**
     * Determine if a job was dispatched based on a truth-test callback.
     *
     * @param  string  $command
     * @param  callable|null  $callback
     * @return void
     */
    
public function assertNotDispatched($command$callback null)
    {
        
PHPUnit::assertTrue(
            
$this->dispatched($command$callback)->count() === 0,
            
"The unexpected [{$command}] job was dispatched."
        
);
    }

    
/**
     * Get all of the jobs matching a truth-test callback.
     *
     * @param  string  $command
     * @param  callable|null  $callback
     * @return \Illuminate\Support\Collection
     */
    
public function dispatched($command$callback null)
    {
        if (! 
$this->hasDispatched($command)) {
            return 
collect();
        }

        
$callback $callback ?: function () {
            return 
true;
        };

        return 
collect($this->commands[$command])->filter(function ($command) use ($callback) {
            return 
$callback($command);
        });
    }

    
/**
     * Determine if there are any stored commands for a given class.
     *
     * @param  string  $command
     * @return bool
     */
    
public function hasDispatched($command)
    {
        return isset(
$this->commands[$command]) && ! empty($this->commands[$command]);
    }

    
/**
     * Dispatch a command to its appropriate handler.
     *
     * @param  mixed  $command
     * @return mixed
     */
    
public function dispatch($command)
    {
        return 
$this->dispatchNow($command);
    }

    
/**
     * Dispatch a command to its appropriate handler in the current process.
     *
     * @param  mixed  $command
     * @param  mixed  $handler
     * @return mixed
     */
    
public function dispatchNow($command$handler null)
    {
        
$this->commands[get_class($command)][] = $command;
    }

    
/**
     * Set the pipes commands should be piped through before dispatching.
     *
     * @param  array  $pipes
     * @return $this
     */
    
public function pipeThrough(array $pipes)
    {
        
//
    
}
}