Passed
Pull Request — master (#11)
by Simon
01:34
created

StripeSlackShortcodeParserTest::testShortcode()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 20
Code Lines 13

Duplication

Lines 0
Ratio 0 %

Importance

Changes 2
Bugs 0 Features 0
Metric Value
cc 1
eloc 13
nc 1
nop 0
dl 0
loc 20
rs 9.4285
c 2
b 0
f 0
1
<?php
2
3
namespace Firesphere\StripeSlack\Test;
4
5
use Firesphere\StripeSlack\Parsers\StripeSlackShortcodeParser;
6
use SilverStripe\Control\Controller;
7
use SilverStripe\Control\HTTPRequest;
8
use SilverStripe\Control\RequestHandler;
9
use SilverStripe\Control\Session;
10
use SilverStripe\Core\Config\Config;
11
use SilverStripe\Dev\SapphireTest;
12
use SilverStripe\SiteConfig\SiteConfig;
13
use SilverStripe\View\Parsers\ShortcodeParser;
14
15
class StripeSlackShortcodeParserTest extends SapphireTest
16
{
17
    protected $parser;
18
19
    public function testTitle()
20
    {
21
        $result = StripeSlackShortcodeParser::get_shortcodes();
22
        $this->assertEquals(['stripeslack'], $result);
23
    }
24
25
    public function testShortcode()
26
    {
27
        $config = SiteConfig::current_site_config();
28
        $config->SlackToken = '1234567890';
29
        $config->write();
30
        // This is a PITA, but works
31
        Config::forClass(RequestHandler::class)->set('url_segment', '/');
32
        $request = new HTTPRequest('GET', '/');
33
        $request->setSession(new Session([]));
34
        Controller::curr()->setRequest($request);
35
36
        $result = StripeSlackShortcodeParser::handle_shortcode(
37
            [],
38
            '[stripeslack]',
39
            new ShortcodeParser(),
40
            'stripeslack'
41
        );
42
43
        $this->assertContains('name="Name"', $result);
44
        $this->assertContains('name="Email"', $result);
45
    }
46
}
47