Issues (404)

tests/DivisionsTest.php (2 issues)

1
<?php
2
3
/**
4
 * Provides test methods to ensure pages contain what we want them to in various ways.
5
 */
6
class DivisionsTest extends FetchPageTestCase {
7
    public function getDataSet() {
8
        return $this->createMySQLXMLDataSet(dirname(__FILE__) . '/_fixtures/divisions.xml');
0 ignored issues
show
Are you sure the usage of $this->createMySQLXMLDat...ixtures/divisions.xml') targeting TWFY_Database_TestCase::createMySQLXMLDataSet() seems to always return null.

This check looks for function or method calls that always return null and whose return value is used.

class A
{
    function getObject()
    {
        return null;
    }

}

$a = new A();
if ($a->getObject()) {

The method getObject() can return nothing but null, so it makes no sense to use the return value.

The reason is most likely that a function or method is imcomplete or has been reduced for debug purposes.

Loading history...
9
    }
10
11
    private function fetch_page($vars) {
0 ignored issues
show
The method fetch_page() is not used, and could be removed.

This check looks for private methods that have been defined, but are not used inside the class.

Loading history...
12
        return $this->base_fetch_page($vars, 'mp', 'index.php', '/mp/divisions.php');
13
    }
14
15
    private function fetch_mp_recent_page() {
16
        $vars = [ 'pagetype' => 'recent', 'pid' => 2, 'url' => '/mp/2/test_current-mp/test_westminster_constituency/recent' ];
17
        return $this->base_fetch_page($vars, 'mp', 'index.php', '/mp/recent.php');
18
    }
19
20
    private function fetch_recent_page() {
21
        return $this->base_fetch_page(['url' => '/divisions' ], 'divisions', 'index.php', '/divisions/index.php');
22
    }
23
24
25
    public function testSinglePolicy() {
26
        $p = new MySociety\TheyWorkForYou\Policies();
27
        $this->assertEquals(count($p->getPoliciesData()), 92);
28
29
        $p = $p->limitToSet('health');
30
        $this->assertEquals(count($p->getPoliciesData()), 5);
31
32
        $p = new MySociety\TheyWorkForYou\Policies();
33
        $p = $p->limitToSet('education');
34
        $this->assertEquals(count($p->getPoliciesData()), 5);
35
36
        $p = new MySociety\TheyWorkForYou\Policies(363);
37
        $this->assertEquals(count($p->getPoliciesData()), 1);
38
39
        $p = $p->limitToSet('health');
40
        $this->assertEquals(count($p->getPoliciesData()), 1);
41
42
        $p = new MySociety\TheyWorkForYou\Policies(363);
43
        $p = $p->limitToSet('education');
44
        $this->assertEquals(count($p->getPoliciesData()), 0);
45
46
    }
47
48
49
50
    public function testRecentDivisionsForMP() {
51
        $page = $this->fetch_mp_recent_page();
52
        $this->assertStringContainsString('<li id="pw-2013-01-01-3-commons"', $page);
53
        $this->assertStringNotContainsString('<li id="pw-2012-01-01-13-commons"', $page);
54
    }
55
56
    public function testSingleDivision() {
57
        $page = $this->base_fetch_page(['url' => '/divisions/division.php', 'vote' => 'pw-3012-01-01-1-commons' ], 'divisions', 'division.php', '/divisions/division.php');
58
        $this->assertStringContainsString('A majority of MPs  <b>voted in favour</b> of a thing', $page);
59
        $this->assertStringContainsString('Aye: 200', $page);
60
        $this->assertStringNotContainsString('No:', $page); # Summary 100, but no actual votes. In reality, summary can only be <= actual.
61
        $this->assertStringNotContainsString('Abstained', $page);
62
        $this->assertStringNotContainsString('Absent', $page);
63
    }
64
65
    public function testRecentDivisions() {
66
        $page = $this->fetch_recent_page();
67
        $this->assertStringContainsString('<li id="pw-2013-01-01-1-commons"', $page);
68
        $this->assertStringNotContainsString('<li id="pw-3012-01-01-2-commons"', $page);
69
    }
70
}
71