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

StripeSlackShortcodeParserTest   A

Complexity

Total Complexity 2

Size/Duplication

Total Lines 25
Duplicated Lines 0 %

Importance

Changes 2
Bugs 0 Features 0
Metric Value
c 2
b 0
f 0
dl 0
loc 25
rs 10
wmc 2

2 Methods

Rating   Name   Duplication   Size   Complexity  
A testShortcode() 0 15 1
A testTitle() 0 4 1
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