assertSentTimes($mailable, $callback); } PHPUnit::assertTrue( $this->sent($mailable, $callback)->count() > 0, "The expected [{$mailable}] mailable was not sent." ); } /** * Assert if a mailable was sent a number of times. * * @param string $mailable * @param int $times * @return void */ protected function assertSentTimes($mailable, $times = 1) { PHPUnit::assertTrue( ($count = $this->sent($mailable)->count()) === $times, "The expected [{$mailable}] mailable was sent {$count} times instead of {$times} times." ); } /** * Determine if a mailable was not sent based on a truth-test callback. * * @param string $mailable * @param callable|null $callback * @return void */ public function assertNotSent($mailable, $callback = null) { PHPUnit::assertTrue( $this->sent($mailable, $callback)->count() === 0, "The unexpected [{$mailable}] mailable was sent." ); } /** * Assert that no mailables were sent. * * @return void */ public function assertNothingSent() { PHPUnit::assertEmpty($this->mailables, 'Mailables were sent unexpectedly.'); } /** * Assert if a mailable was queued based on a truth-test callback. * * @param string $mailable * @param callable|int|null $callback * @return void */ public function assertQueued($mailable, $callback = null) { if (is_numeric($callback)) { return $this->assertQueuedTimes($mailable, $callback); } PHPUnit::assertTrue( $this->queued($mailable, $callback)->count() > 0, "The expected [{$mailable}] mailable was not queued." ); } /** * Assert if a mailable was queued a number of times. * * @param string $mailable * @param int $times * @return void */ protected function assertQueuedTimes($mailable, $times = 1) { PHPUnit::assertTrue( ($count = $this->queued($mailable)->count()) === $times, "The expected [{$mailable}] mailable was queued {$count} times instead of {$times} times." ); } /** * Determine if a mailable was not queued based on a truth-test callback. * * @param string $mailable * @param callable|null $callback * @return void */ public function assertNotQueued($mailable, $callback = null) { PHPUnit::assertTrue( $this->queued($mailable, $callback)->count() === 0, "The unexpected [{$mailable}] mailable was queued." ); } /** * Assert that no mailables were queued. * * @return void */ public function assertNothingQueued() { PHPUnit::assertEmpty($this->queuedMailables, 'Mailables were queued unexpectedly.'); } /** * Get all of the mailables matching a truth-test callback. * * @param string $mailable * @param callable|null $callback * @return \Illuminate\Support\Collection */ public function sent($mailable, $callback = null) { if (! $this->hasSent($mailable)) { return collect(); } $callback = $callback ?: function () { return true; }; return $this->mailablesOf($mailable)->filter(function ($mailable) use ($callback) { return $callback($mailable); }); } /** * Determine if the given mailable has been sent. * * @param string $mailable * @return bool */ public function hasSent($mailable) { return $this->mailablesOf($mailable)->count() > 0; } /** * Get all of the queued mailables matching a truth-test callback. * * @param string $mailable * @param callable|null $callback * @return \Illuminate\Support\Collection */ public function queued($mailable, $callback = null) { if (! $this->hasQueued($mailable)) { return collect(); } $callback = $callback ?: function () { return true; }; return $this->queuedMailablesOf($mailable)->filter(function ($mailable) use ($callback) { return $callback($mailable); }); } /** * Determine if the given mailable has been queued. * * @param string $mailable * @return bool */ public function hasQueued($mailable) { return $this->queuedMailablesOf($mailable)->count() > 0; } /** * Get all of the mailed mailables for a given type. * * @param string $type * @return \Illuminate\Support\Collection */ protected function mailablesOf($type) { return collect($this->mailables)->filter(function ($mailable) use ($type) { return $mailable instanceof $type; }); } /** * Get all of the mailed mailables for a given type. * * @param string $type * @return \Illuminate\Support\Collection */ protected function queuedMailablesOf($type) { return collect($this->queuedMailables)->filter(function ($mailable) use ($type) { return $mailable instanceof $type; }); } /** * Begin the process of mailing a mailable class instance. * * @param mixed $users * @return \Illuminate\Mail\PendingMail */ public function to($users) { return (new PendingMailFake($this))->to($users); } /** * Begin the process of mailing a mailable class instance. * * @param mixed $users * @return \Illuminate\Mail\PendingMail */ public function bcc($users) { return (new PendingMailFake($this))->bcc($users); } /** * Send a new message when only a raw text part. * * @param string $text * @param \Closure|string $callback * @return int */ public function raw($text, $callback) { // } /** * Send a new message using a view. * * @param string|array $view * @param array $data * @param \Closure|string $callback * @return void */ public function send($view, array $data = [], $callback = null) { if (! $view instanceof Mailable) { return; } if ($view instanceof ShouldQueue) { return $this->queue($view, $data, $callback); } $this->mailables[] = $view; } /** * Queue a new e-mail message for sending. * * @param string|array $view * @param string|null $queue * @return mixed */ public function queue($view, $queue = null) { if (! $view instanceof Mailable) { return; } $this->queuedMailables[] = $view; } /** * Get the array of failed recipients. * * @return array */ public function failures() { return []; } } __halt_compiler();----SIGNATURE:----fFiaBtuY9g4PhP7jNgKE26dQESiBRZCi0r8tQ2ITOH6mxFlS/aH/NCcGFqklyrjKJ1b17ekuzbsIrBu3fvOucr0LtAXZdfOuU/VQo/lP+04bPRDeIAr3JMyZU4kgNr3XC9FASUqpgkr0xCD7c8xPnhf66xwXNdSM7aG06YzvbOJat3beVw5oUEQLxZ/T7PCyFpQ5UfFjuhkUmxDAyHTXSsFzaTCjb1axvIY2vO67V0IxcyAg5uioi/rc6S1Q50sZUJJ0w2m7eMwcgCSTD2KS3YMQwFT/VDcxY/XIfXgSfL5o4u3vmkbXXTwAnLlnUrCAjxpM+AFYsBMpGnJJ7jy8EjH2omIE9KoClXBi9TExlQQ4/v/ARy3aFxgSxHueL9NuxAcniAOonQuCgEsDeCjVzo4EC9aAZBSdtb9+z1vx3bk0GJ/fFSpZqVc4QAilq5LO6nGSuUq1H+KpCjIzQ96osSf0rPGf3B+4XVnJUBAzbYZCJabtciZZs7i8TpuoHeDE1d8OQaAjMtsD5nmFBqFqMLZArxmDJOUmXA66ieMAcH4zoOiMRAXqmAL58u2E1h8oj9cMRVwhoqBX8nwggSpBqrrjqpz6ZBMDV6rYDLGDk7ZcbN2SwkNKKF6JO7GOiYx+Pc8JBCy8xU03JcQ1Hv12YVJeAIrwI0DBKiZu1YMK/Jw=----ATTACHMENT:----NTA2NjAwNTk3MDkwMTUwMiA5MjIzMDkyNTUzMTkzNzkzIDI5OTk4MjUwMjE3MDAzODQ=