Passed
Push — 1.0 ( 748b47...49e249 )
by Morven
08:23
created

ContactTest   A

Complexity

Total Complexity 5

Size/Duplication

Total Lines 71
Duplicated Lines 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
wmc 5
eloc 46
c 1
b 0
f 0
dl 0
loc 71
rs 10

5 Methods

Rating   Name   Duplication   Size   Complexity  
A testGetByMostLocations() 0 7 1
A testGetFullName() 0 13 1
A testGetTitle() 0 13 1
A testGetTagsList() 0 13 1
A testGetDefaultLocation() 0 13 1
1
<?php
2
3
namespace SilverCommerce\ContactAdmin\Tests;
4
5
use SilverCommerce\ContactAdmin\Model\Contact;
6
use SilverStripe\Dev\SapphireTest;
7
8
class ContactTest extends SapphireTest
9
{
10
    protected static $fixture_file = 'ContactTest.yml';
11
12
    public function testGetTitle()
13
    {
14
        $one = $this->objFromFixture(Contact::class, 'contact_one');
15
        $two = $this->objFromFixture(Contact::class, 'contact_two');
16
        $three = $this->objFromFixture(Contact::class, 'contact_three');
17
        $four = $this->objFromFixture(Contact::class, 'contact_four');
18
        $five = $this->objFromFixture(Contact::class, 'contact_five');
19
20
        $this->assertEquals('Member One', $one->getTitle());
21
        $this->assertEquals('Member Two ([email protected])', $two->getTitle());
22
        $this->assertEquals('Contact Three', $three->getTitle());
23
        $this->assertEquals('Contact Four', $four->getTitle());
24
        $this->assertEquals('Contact ([email protected])', $five->getTitle());
25
    }
26
27
    public function testGetFullName()
28
    {
29
        $one = $this->objFromFixture(Contact::class, 'contact_one');
30
        $two = $this->objFromFixture(Contact::class, 'contact_two');
31
        $three = $this->objFromFixture(Contact::class, 'contact_three');
32
        $four = $this->objFromFixture(Contact::class, 'contact_four');
33
        $five = $this->objFromFixture(Contact::class, 'contact_five');
34
35
        $this->assertEquals('Member One', $one->getFullName());
36
        $this->assertEquals('Member Two', $two->getFullName());
37
        $this->assertEquals('Contact Three', $three->getFullName());
38
        $this->assertEquals('Contact Four', $four->getFullName());
39
        $this->assertEquals('Contact', $five->getFullName());
40
    }
41
42
    public function testGetByMostLocations()
43
    {
44
        $contact = Contact::getByMostLocations();
45
46
        $this->assertEquals('Member', $contact->FirstName);
47
        $this->assertEquals('Two', $contact->Surname);
48
        $this->assertEquals(3, $contact->Locations()->count());
49
    }
50
51
    public function testGetDefaultLocation()
52
    {
53
        $one = $this->objFromFixture(Contact::class, 'contact_one');
54
        $two = $this->objFromFixture(Contact::class, 'contact_two');
55
        $three = $this->objFromFixture(Contact::class, 'contact_three');
56
        $four = $this->objFromFixture(Contact::class, 'contact_four');
57
        $five = $this->objFromFixture(Contact::class, 'contact_five');
58
59
        $this->assertEquals('2 Savoy Pl', $one->DefaultLocation()->Address1);
60
        $this->assertEquals('21 Searle Ct Ave', $two->DefaultLocation()->Address1);
61
        $this->assertEquals('21 Searle Ct Ave', $three->DefaultLocation()->Address1);
62
        $this->assertNull($four->DefaultLocation()->Address1);
63
        $this->assertNull($five->DefaultLocation()->Address1);
64
    }
65
66
    public function testGetTagsList()
67
    {
68
        $one = $this->objFromFixture(Contact::class, 'contact_one');
69
        $two = $this->objFromFixture(Contact::class, 'contact_two');
70
        $three = $this->objFromFixture(Contact::class, 'contact_three');
71
        $four = $this->objFromFixture(Contact::class, 'contact_four');
72
        $five = $this->objFromFixture(Contact::class, 'contact_five');
73
74
        $this->assertEquals('One', $one->getTagsList());
75
        $this->assertEquals('One, Two', $two->getTagsList());
76
        $this->assertEquals('Two, Three', $three->getTagsList());
77
        $this->assertEquals('Three', $four->getTagsList());
78
        $this->assertEquals('', $five->getTagsList());
79
    }
80
}
81