Passed
Pull Request — master (#11)
by Simon
03:23
created

StripeSlackShortcodeParserTest::testShortcode()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 15
Code Lines 10

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 1
eloc 10
nc 1
nop 0
dl 0
loc 15
rs 9.4285
c 0
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([], '[stripeslack]', new ShortcodeParser(), 'stripeslack');
37
38
        $this->assertContains('name="Name"', $result);
39
        $this->assertContains('name="Email"', $result);
40
    }
41
}
42