IFTTTfullWebhook::test_parseTimeIntoTimestamp()   A
last analyzed

Complexity

Conditions 1
Paths 1

Size

Total Lines 33
Code Lines 16

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
eloc 16
dl 0
loc 33
rs 9.7333
c 0
b 0
f 0
cc 1
nc 1
nop 0
1
<?php
2
3
namespace dokuwiki\plugin\swarmwebhook\test;
4
5
/**
6
 * General tests for the swarmwebhook plugin
7
 *
8
 * @group plugin_swarmwebhook
9
 * @group plugins
10
 */
11
class IFTTTfullWebhook extends \DokuWikiTest
12
{
13
    /** @var array alway enable the needed plugins */
14
    protected $pluginsEnabled = ['swarmwebhook', 'struct', 'sqlite'];
15
16
    public function test_parseTimeIntoTimestamp()
17
    {
18
        $inputJSON = '{
19
        "ts":"May 25, 2018 at 04:32PM",
20
     "shout":"",
21
     "VenueName":"Stiftung Für Effektiven Altruismus",
22
     "VenueUrl":"https://4sq.com/2kfnC4d",
23
     "VenueMapImageUrl":"http://maps.google.com/maps/api/staticmap?center=52.509712,13.324584&zoom=16&size=710x440&maptype=roadmap&sensor=false&markers=color:red%7C52.509712,13.324584"
24
     }';
25
26
        $IFTTT = new mock\IFTTT();
27
28
        $IFTTT->run($inputJSON);
29
30
        /** @var \remote_plugin_struct $remote */
31
        $remote = plugin_load('remote', 'struct');
32
        $rows = $remote->getAggregationData(
33
            ['swarm'],
34
            ['*']
35
        );
36
37
        $expectedRows = [
38
            'swarm.date' => '2018-05-25',
39
            'swarm.json' => $inputJSON,
40
            'swarm.locname' => 'Stiftung Für Effektiven Altruismus',
41
            'swarm.checkinid' => 'May 25, 2018 at 04:32PM',
42
            'swarm.shout' => '',
43
            'swarm.time' => '2018-05-25 16:32',
44
            'swarm.service' => 'IFTTT',
45
        ];
46
47
//        $this->assertTrue($actualOK, 'single event, initially creating the schema');
48
        $this->assertEquals($rows[0], $expectedRows);
49
    }
50
}