Files
cachet-docker/tests/Bus/Events/Component/ComponentStatusWasUpdatedEventTest.php
James Brooks c9423604ca Apply fixes from StyleCI
[ci skip] [skip ci]
2017-02-06 18:59:18 +00:00

79 lines
2.3 KiB
PHP

<?php
/*
* This file is part of Cachet.
*
* (c) Alt Three Services Limited
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
namespace CachetHQ\Tests\Cachet\Bus\Events\Component;
use CachetHQ\Cachet\Bus\Events\Component\ComponentStatusWasUpdatedEvent;
use CachetHQ\Cachet\Models\Component;
use CachetHQ\Cachet\Models\User;
use Illuminate\Foundation\Testing\DatabaseMigrations;
use MailThief\Testing\InteractsWithMail;
/**
* This is the component status was updated event test.
*
* @author James Brooks <james@alt-three.com>
*/
class ComponentStatusWasUpdatedEventTest extends AbstractComponentEventTestCase
{
use DatabaseMigrations, InteractsWithMail;
public function testComponentUpdateEmailWasSent()
{
$user = factory('CachetHQ\Cachet\Models\User')->create();
$component = factory('CachetHQ\Cachet\Models\Component')->create([
'status' => 2,
]);
$subscriber = factory('CachetHQ\Cachet\Models\Subscriber')->create([
'verified_at' => '1970-01-01 00:00:00',
]);
$subscriber->subscriptions()->create(['component_id' => $component->id]);
$this->app['events']->fire(new ComponentStatusWasUpdatedEvent($user, $component, 1, 2, false));
$this->seeMessageFor($subscriber->email);
$this->seeMessageWithSubject(trans('notifications.component.status_update.mail.subject'));
$message = $this->getMailer()->lastMessage();
$this->assertTrue($message->contains($component->name));
$this->assertTrue($message->contains(trans('cachet.components.status.'.$component->status)));
}
protected function objectHasHandlers()
{
return true;
}
protected function getObjectAndParams()
{
$params = [
'user' => new User(),
'component' => new Component(),
'original_status' => 1,
'new_status' => 2,
'silent' => false,
];
$object = new ComponentStatusWasUpdatedEvent(
$params['user'],
$params['component'],
$params['original_status'],
$params['new_status'],
$params['silent']
);
return compact('params', 'object');
}
}