Completed
Push — master ( a34ca5...70c3fb )
by Simon
01:43
created

PartialSubmissionTaskTest   A

Complexity

Total Complexity 3

Size/Duplication

Total Lines 30
Duplicated Lines 0 %

Coupling/Cohesion

Components 0
Dependencies 6

Importance

Changes 1
Bugs 0 Features 0
Metric Value
wmc 3
c 1
b 0
f 0
lcom 0
cbo 6
dl 0
loc 30
rs 10

3 Methods

Rating   Name   Duplication   Size   Complexity  
A testTitle() 0 5 1
A testRun() 0 14 1
A setUp() 0 5 1
1
<?php
2
/**
3
 * Created by PhpStorm.
4
 * User: simon
5
 * Date: 10-May-18
6
 * Time: 10:02
7
 */
8
9
namespace Firesphere\PartialUserforms\Tests;
10
11
use Firesphere\PartialUserforms\Tasks\PartialSubmissionTask;
12
use SilverStripe\Control\HTTPRequest;
13
use SilverStripe\Core\Config\Config;
14
use SilverStripe\Core\Injector\Injector;
15
use SilverStripe\Dev\SapphireTest;
16
use SilverStripe\SiteConfig\SiteConfig;
17
use Symbiote\QueuedJobs\Services\QueuedJobService;
18
19
class PartialSubmissionTaskTest extends SapphireTest
20
{
21
    public function testTitle()
22
    {
23
        $task = Injector::inst()->get(PartialSubmissionTask::class);
24
        $this->assertEquals('Export partial form submissions to email address', $task->getTitle());
25
    }
26
27
    public function testRun()
28
    {
29
        $config = SiteConfig::current_site_config();
30
        $config->SendDailyEmail = true;
31
        $config->SendMailTo = '[email protected]';
32
        $config->write();
33
        $request = new HTTPRequest('GET', 'dev/tasks/partialsubmissiontask');
34
35
        $task = Injector::inst()->get(PartialSubmissionTask::class);
36
37
        $task->run($request);
38
39
        $this->assertEmailSent('[email protected]');
40
    }
41
42
    protected function setUp()
43
    {
44
        parent::setUp();
45
        Config::modify()->set(QueuedJobService::class, 'use_shutdown_function', false);
46
    }
47
48
}
49