Passed
Pull Request — develop (#92)
by Felipe
06:21
created

GroupsTest::testRemoveUser()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 22
Code Lines 14

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 1
eloc 14
nc 1
nop 0
dl 0
loc 22
rs 9.2
c 0
b 0
f 0
1
<?php
2
/**
3
 * Function area: Server
4
 * Sub function area: Groups
5
 *
6
 * @author     Augmentum SpikeSource Team 
7
 * @copyright  2005 by Augmentum, Inc.
8
 */
9
10
// Import the precondition class.
11
if(is_dir('../Public')) 
12
{
13
    require_once('../Public/SetPrecondition.php');
14
}
15
16
/**
17
 * This class is to test the group management.
18
 * It includes create/drop/alter/list groups.
19
 */
20
class GroupsTest extends PreconditionSet 
21
{
22
    // Declare the member variable for group name.
23
    private $_groupName = "testgroup";
24
        
25
    function setUp()
26
    {
27
        global $webUrl;
28
        global $SUPER_USER_NAME;
29
        global $SUPER_USER_PASSWORD;
30
        
31
        $this->login($SUPER_USER_NAME, $SUPER_USER_PASSWORD, "$webUrl/login.php");
32
        
33
        return TRUE;
34
    }
35
36
    function tearDown()
0 ignored issues
show
Best Practice introduced by
It is generally recommended to explicitly declare the visibility for methods.

Adding explicit visibility (private, protected, or public) is generally recommend to communicate to other developers how, and from where this method is intended to be used.

Loading history...
37
    {
38
        $this->logout();
39
40
        return TRUE;
41
    }
42
43
    /*
44
     * TestCaseID: SCG01
45
     * Test to create group. 
46
     */
47
    function testCreate() 
0 ignored issues
show
Best Practice introduced by
It is generally recommended to explicitly declare the visibility for methods.

Adding explicit visibility (private, protected, or public) is generally recommend to communicate to other developers how, and from where this method is intended to be used.

Loading history...
48
    {
49
        global $webUrl;
50
        global $POWER_USER_NAME;
51
        global $NORMAL_USER_NAME;
52
        global $lang, $SERVER;
53
54
        // Turn to create group page.
55
		$this->assertTrue($this->get("$webUrl/groups.php", array('server' => $SERVER)));
56
        $this->assertTrue($this->clickLink($lang['strcreategroup']));
57
58
        // Enter the information for creating group.
59
        $this->assertTrue($this->setField('name', $this->_groupName));
60
        $this->assertTrue($this->setField('members[]', array($POWER_USER_NAME, $NORMAL_USER_NAME)));
61
62
        // Then submit and verify it.
63
        $this->assertTrue($this->clickSubmit($lang['strcreate']));
64
        $this->assertWantedText($lang['strgroupcreated']);
65
        $this->assertWantedText($this->_groupName);
66
67
        return TRUE;
68
    }
69
70
71
    /*
72
     * TestCaseID: SAG01
73
     * Test to add users to the gruop.
74
     */
75
    function testAddUser() 
0 ignored issues
show
Best Practice introduced by
It is generally recommended to explicitly declare the visibility for methods.

Adding explicit visibility (private, protected, or public) is generally recommend to communicate to other developers how, and from where this method is intended to be used.

Loading history...
76
    {
77
        global $webUrl;
78
        global $SUPER_USER_NAME;
79
        global $POWER_USER_NAME;
80
        global $NORMAL_USER_NAME;
81
        global $lang, $SERVER;
82
        
83
        // Turn to the gruop's properties page.
84
        $this->assertTrue($this->get("$webUrl/groups.php", array('server' => $SERVER)));
85
		$this->assertTrue($this->get("$webUrl/groups.php",
86
			array('action' => 'properties',
87
				'group' => $this->_groupName,
88
				'server' => $SERVER))
89
		);
90
       
91
        // Select user and add it to the group.
92
        $this->assertTrue($this->setField('user', $SUPER_USER_NAME));
93
        $this->assertTrue($this->clickSubmit($lang['straddmember']));
94
        $this->assertTrue($this->setField('user', $POWER_USER_NAME));
95
        $this->assertTrue($this->clickSubmit($lang['straddmember']));
96
       
97
        // Verify the group's memebers.
98
        $this->assertWantedText($SUPER_USER_NAME);
99
        $this->assertWantedText($POWER_USER_NAME);
100
        $this->assertWantedText($NORMAL_USER_NAME);
101
        
102
        return TRUE;
103
    }
104
    
105
    
106
    /*
107
     * TestCaseID: SRG01
108
     * Test to Remove users from the group.
109
     */
110
    function testRemoveUser() 
0 ignored issues
show
Best Practice introduced by
It is generally recommended to explicitly declare the visibility for methods.

Adding explicit visibility (private, protected, or public) is generally recommend to communicate to other developers how, and from where this method is intended to be used.

Loading history...
111
    {
112
        global $webUrl;
113
        global $SUPER_USER_NAME;
114
        global $POWER_USER_NAME;
115
        global $NORMAL_USER_NAME;
116
        global $lang, $SERVER;
117
        
118
        // Turn to the gruop properties page.
119
        $this->assertTrue($this->get("$webUrl/groups.php", array('server' => $SERVER)));
120
		$this->assertTrue($this->get("$webUrl/groups.php",
121
			array('action' => 'properties',
122
				'group' => $this->_groupName,
123
				'server' => $SERVER))
124
		);
125
       
126
        // Drop users from the group and verify it.
127
        $this->assertTrue($this->clickLink($lang['strdrop']));
128
        $this->assertTrue($this->clickSubmit($lang['strdrop']));
129
        $this->assertWantedText($lang['strmemberdropped']);
130
        
131
        return TRUE;
132
    }
133
    
134
    
135
    /*
136
     * TestCaseID: SDG01
137
     * Test to drop the group. 
138
     */
139
    function testDrop() 
0 ignored issues
show
Best Practice introduced by
It is generally recommended to explicitly declare the visibility for methods.

Adding explicit visibility (private, protected, or public) is generally recommend to communicate to other developers how, and from where this method is intended to be used.

Loading history...
140
    {
141
        global $webUrl;
142
        global $lang, $SERVER;
143
        
144
        // Turn to the drop group page..
145
        $this->assertTrue($this->get("$webUrl/groups.php", array('server' => $SERVER)));
146
		$this->assertTrue($this->get("$webUrl/groups.php",
147
			array('server' => $SERVER,
148
				'action' => 'confirm_drop',
149
			   	'group' => $this->_groupName))
150
		);
151
       
152
        // Confirm to drop the group and verify it.
153
        $this->assertTrue($this->clickSubmit($lang['strdrop']));
154
        $this->assertWantedText($lang['strgroupdropped']);
155
        $this->assertNoUnWantedText($this->_groupName);
156
        
157
        return TRUE;
158
    }
159
}
160
?>
0 ignored issues
show
Best Practice introduced by
It is not recommended to use PHP's closing tag ?> in files other than templates.

Using a closing tag in PHP files that only contain PHP code is not recommended as you might accidentally add whitespace after the closing tag which would then be output by PHP. This can cause severe problems, for example headers cannot be sent anymore.

A simple precaution is to leave off the closing tag as it is not required, and it also has no negative effects whatsoever.

Loading history...
161