461 lines
9.3 KiB
PHP
Executable File
461 lines
9.3 KiB
PHP
Executable File
<?php
|
|
|
|
class TodoLibTest extends Todo_TestCase {
|
|
|
|
protected $tables = [
|
|
'todo_priority' => 'todo_priority',
|
|
'todo_group' => 'todo_group',
|
|
'todo_user' => 'todo_user',
|
|
'todo_category' => 'todo_category',
|
|
'todo_group_users_link' => 'todo_group_users_link',
|
|
'todo_user_friend_link' => 'todo_user_friend_link',
|
|
];
|
|
|
|
public function setUp()
|
|
{
|
|
parent::setUp();
|
|
$this->CI->load->library('todo');
|
|
|
|
// Hack to fix problem with CodeIgniter in this specific context
|
|
if ($this->CI->db->conn_id === FALSE) $this->CI->db->db_connect();
|
|
}
|
|
|
|
public function dataValidatePass()
|
|
{
|
|
return [
|
|
'passwords do not match' => [
|
|
'post' => [
|
|
'pass' => 'foo',
|
|
'pass1' => 'bar',
|
|
'old_pass' => 'guest'
|
|
],
|
|
'expected' => [
|
|
'Passwords do not match.',
|
|
]
|
|
],
|
|
'wrong password' => [
|
|
'post' => [
|
|
'pass' => 'foobar',
|
|
'pass1' => 'foobar',
|
|
'old_pass' => 'bazisbest'
|
|
],
|
|
'expected' => [
|
|
'Wrong password'
|
|
]
|
|
],
|
|
'valid password change request' => [
|
|
'post' => [
|
|
'pass' => 'foobar',
|
|
'pass1' => 'foobar',
|
|
'old_pass' => 'guest'
|
|
],
|
|
'expected' => TRUE
|
|
]
|
|
];
|
|
}
|
|
|
|
/**
|
|
* @dataProvider dataValidatePass
|
|
*/
|
|
public function testValidatePass($post, $expected)
|
|
{
|
|
$this->create_session();
|
|
$this->CI->session->set_userdata([
|
|
'username' => 'guest',
|
|
'uid' => 3
|
|
]);
|
|
|
|
$_POST = [];
|
|
$_POST = $post;
|
|
|
|
$actual = $this->CI->todo->validate_pass();
|
|
|
|
$this->assertEquals($expected, $actual);
|
|
}
|
|
|
|
public function testGetUserFromId()
|
|
{
|
|
$expected = 'timw4mail';
|
|
$actual = $this->CI->todo->get_user_from_id(1);
|
|
|
|
$this->assertEquals($expected, $actual);
|
|
}
|
|
|
|
public function testGetFriendRequests()
|
|
{
|
|
$this->create_session();
|
|
$this->CI->session->set_userdata([
|
|
'username' => 'timw4mail',
|
|
'uid' => 1
|
|
]);
|
|
|
|
$expected = 1;
|
|
|
|
$actual = $this->CI->todo->get_friend_requests();
|
|
|
|
$this->assertEquals($expected, $actual);
|
|
}
|
|
|
|
public function testCategoryList()
|
|
{
|
|
$this->create_session();
|
|
$this->CI->session->set_userdata([
|
|
'username' => 'timw4mail',
|
|
'uid' => 1
|
|
]);
|
|
|
|
$expected = [
|
|
array (
|
|
'id' => '9',
|
|
'title' => 'Tim\'s Todo',
|
|
'description' => 'Tasks having to do with this application',
|
|
'group_id' => '11',
|
|
),
|
|
array (
|
|
'id' => '7',
|
|
'title' => 'Optional ',
|
|
'description' => 'Tasks that are not necessary, but it would be nice to see them completed.',
|
|
'group_id' => '0',
|
|
),
|
|
array (
|
|
'id' => '11',
|
|
'title' => 'Other',
|
|
'description' => 'Tasks that don\'t fit in another category.',
|
|
'group_id' => '0',
|
|
),
|
|
array (
|
|
'id' => '13',
|
|
'title' => 'Personal',
|
|
'description' => 'Personal tasks to do',
|
|
'group_id' => '0',
|
|
),
|
|
array (
|
|
'id' => '10',
|
|
'title' => 'School',
|
|
'description' => 'School related tasks',
|
|
'group_id' => '0',
|
|
),
|
|
array (
|
|
'id' => '1',
|
|
'title' => 'Work',
|
|
'description' => 'Tasks related to work',
|
|
'group_id' => '0',
|
|
),
|
|
];
|
|
|
|
$actual = $this->CI->todo->get_category_list();
|
|
|
|
$this->assertEquals($expected, $actual);
|
|
}
|
|
|
|
public function testPriorityList()
|
|
{
|
|
$expected = $this->todo_priority_fixt;
|
|
$actual = $this->CI->todo->get_priorities();
|
|
|
|
$this->assertEquals($expected, $actual);
|
|
}
|
|
|
|
public function dataGetFriendList()
|
|
{
|
|
return [
|
|
[
|
|
'session' => [
|
|
'username' => 'timw4mail',
|
|
'uid' => 1
|
|
],
|
|
'expected' => [[
|
|
'user_friend_id' => '1',
|
|
'uid' => '7',
|
|
'username' => 'aviat4ion',
|
|
]]
|
|
],
|
|
[
|
|
'session' => [
|
|
'username' => 'aviat4ion',
|
|
'uid' => 7
|
|
],
|
|
'expected' => [[
|
|
'user_friend_id' => '1',
|
|
'uid' => '7',
|
|
'username' => 'timw4mail',
|
|
]]
|
|
],
|
|
[
|
|
'session' => [
|
|
'username' => 'guest',
|
|
'uid' => 3
|
|
],
|
|
'expected' => []
|
|
]
|
|
];
|
|
}
|
|
|
|
/**
|
|
* @dataProvider dataGetFriendList
|
|
*/
|
|
public function testGetFriendList($session, $expected)
|
|
{
|
|
$this->create_session($session);
|
|
$actual = $this->CI->todo->get_friend_list();
|
|
$this->assertEquals($expected, $actual);
|
|
}
|
|
|
|
public function dataGetUserAccountById()
|
|
{
|
|
return [
|
|
'timw4mail' => [
|
|
'user_id' => 1,
|
|
'expected' => [
|
|
'timezone' => 'America/Detroit',
|
|
'user' => 'timw4mail',
|
|
'email' => 'tim@timshomepage.net',
|
|
'num_format' => '1',
|
|
]
|
|
],
|
|
'aviat4ion' => [
|
|
'user_id' => 7,
|
|
'expected' => [
|
|
'timezone' => 'America/Detroit',
|
|
'user' => 'aviat4ion',
|
|
'email' => 'timw4mail@gmail.com',
|
|
'num_format' => '0',
|
|
]
|
|
],
|
|
'guest' => [
|
|
'user_id' => 3,
|
|
'expected' => [
|
|
'timezone' => 'America/Detroit',
|
|
'user' => 'guest',
|
|
'email' => 'guest@timshomepage.net',
|
|
'num_format' => '0',
|
|
]
|
|
]
|
|
];
|
|
}
|
|
|
|
/**
|
|
* @dataProvider dataGetUserAccountById
|
|
*/
|
|
public function testGetUserAccountById($user_id, $expected)
|
|
{
|
|
$actual = $this->CI->todo->get_user_account_by_id($user_id);
|
|
$this->assertEquals($expected, $actual);
|
|
}
|
|
|
|
public function dataGetGroups()
|
|
{
|
|
return [
|
|
[
|
|
'user_id' => 1,
|
|
'expected' => []
|
|
],[
|
|
'user_id' => 3,
|
|
'expected' => [
|
|
array (
|
|
'id' => '62',
|
|
'name' => 'shared',
|
|
),
|
|
]
|
|
]
|
|
];
|
|
}
|
|
|
|
/**
|
|
* @dataProvider dataGetGroups
|
|
*/
|
|
public function testGetGroups($user_id, $expected)
|
|
{
|
|
$actual = $this->CI->todo->get_group_list($user_id);
|
|
$this->assertEquals($expected, $actual);
|
|
}
|
|
|
|
public function dataVerifyUser()
|
|
{
|
|
return [
|
|
'valid username and password' => [
|
|
'post' => [
|
|
'user' => 'guest',
|
|
'pass' => 'guest'
|
|
],
|
|
'expected' => TRUE
|
|
],
|
|
'valid email and password' => [
|
|
'post' => [
|
|
'user' => 'guest@timshomepage.net',
|
|
'pass' => 'guest'
|
|
],
|
|
'expected' => TRUE
|
|
],
|
|
'invalid login' => [
|
|
'post' => [
|
|
'user' => 'timw4mail',
|
|
'pass' => 'foobarbaz'
|
|
],
|
|
'expected' => 'Invalid username or password'
|
|
]
|
|
];
|
|
}
|
|
|
|
/**
|
|
* @dataProvider dataVerifyUser
|
|
*/
|
|
public function testVerifyUser($post, $expected)
|
|
{
|
|
$_POST = $post;
|
|
$actual = $this->CI->todo->verify_user();
|
|
$this->assertEquals($expected, $actual);
|
|
}
|
|
|
|
public function testGetFriendsInGroup()
|
|
{
|
|
$expected = [
|
|
array (
|
|
'user_id' => '3',
|
|
),
|
|
array (
|
|
'user_id' => '7',
|
|
)
|
|
];
|
|
$actual = $this->CI->todo->get_friends_in_group(62);
|
|
$this->assertEquals($expected, $actual);
|
|
}
|
|
|
|
public function dataGetGroupNameById()
|
|
{
|
|
return [
|
|
[
|
|
'group_id' => 11,
|
|
'expected' => 'timw4mail'
|
|
],
|
|
/*[
|
|
'group_id' => 0,
|
|
'expected' => 'global'
|
|
],*/
|
|
[
|
|
'group_id' => 62,
|
|
'expected' => 'shared'
|
|
]
|
|
];
|
|
}
|
|
|
|
/**
|
|
* @dataProvider dataGetGroupNameById
|
|
*/
|
|
public function testGetGroupNameById($group_id, $expected)
|
|
{
|
|
$actual = $this->CI->todo->get_group_name_by_id($group_id);
|
|
$this->assertEquals($expected, $actual);
|
|
}
|
|
|
|
public function dataGetCategory()
|
|
{
|
|
return [
|
|
[
|
|
'cat_id' => 1,
|
|
'expected' => [
|
|
'title' => 'Work',
|
|
'description' => 'Tasks related to work',
|
|
]
|
|
],
|
|
[
|
|
'cat_id' => 5,
|
|
'expected' => NULL
|
|
],
|
|
[
|
|
'cat_id' => 9,
|
|
'expected' => [
|
|
'title' => 'Tim\'s Todo',
|
|
'description' => 'Tasks having to do with this application'
|
|
]
|
|
]
|
|
];
|
|
}
|
|
|
|
/**
|
|
* @dataProvider dataGetCategory
|
|
*/
|
|
public function testGetCategory($cat_id, $expected)
|
|
{
|
|
$actual = $this->CI->todo->get_category($cat_id);
|
|
$this->assertEquals($expected, $actual);
|
|
}
|
|
|
|
public function dataGetCategorySelect()
|
|
{
|
|
return [
|
|
[
|
|
'session' => [
|
|
'username' => 'timw4mail',
|
|
'uid' => 1
|
|
],
|
|
'expected' => T4 . '<option value="9">Tim\'s Todo</option>' . NL .
|
|
T4 . '<option value="7">Optional </option>' . NL .
|
|
T4 . '<option value="11">Other</option>' . NL .
|
|
T4 . '<option value="13">Personal</option>' . NL .
|
|
T4 . '<option value="10">School</option>' . NL .
|
|
T4 . '<option value="1">Work</option>' . NL
|
|
],
|
|
[
|
|
'session' => [
|
|
'username' => 'guest',
|
|
'uid' => 3
|
|
],
|
|
'expected' => T4 . '<option value="7">Optional </option>' . NL .
|
|
T4 . '<option value="11">Other</option>' . NL .
|
|
T4 . '<option value="13">Personal</option>' . NL .
|
|
T4 . '<option value="10">School</option>' . NL .
|
|
T4 . '<option value="1">Work</option>' . NL
|
|
],
|
|
];
|
|
}
|
|
|
|
/**
|
|
* @dataProvider dataGetCategorySelect
|
|
*/
|
|
public function testGetCategorySelect($session, $expected)
|
|
{
|
|
$this->create_session($session);
|
|
$actual = $this->CI->todo->get_category_select();
|
|
$this->assertEquals($expected, $actual);
|
|
}
|
|
|
|
public function testGetPrioritySelect()
|
|
{
|
|
$expected = T4 . '<option value="1" >Optional</option>' . NL .
|
|
T4 . '<option value="2" >Lowest</option>' . NL .
|
|
T4 . '<option value="3" >Lower</option>' . NL .
|
|
T4 . '<option value="4" >Low</option>' . NL .
|
|
T4 . '<option value="5" selected="selected">Normal</option>' . NL .
|
|
T4 . '<option value="6" >High</option>' . NL .
|
|
T4 . '<option value="7" >Higher</option>' . NL .
|
|
T4 . '<option value="8" >Highest</option>' . NL .
|
|
T4 . '<option value="9" >Immediate</option>' . NL;
|
|
$actual = $this->CI->todo->get_priority_select();
|
|
$this->assertEquals($expected, $actual);
|
|
}
|
|
|
|
public function dataGetGroupSelect()
|
|
{
|
|
return [
|
|
[
|
|
'user_id' => 3,
|
|
'expected' => T4 . '<option value="62">shared</option>' . NL
|
|
],
|
|
[
|
|
'user_id' => 1,
|
|
'expected' => ''
|
|
]
|
|
];
|
|
}
|
|
|
|
/**
|
|
* @dataProvider dataGetGroupSelect()
|
|
*/
|
|
public function testGetGroupSelect($user_id, $expected)
|
|
{
|
|
$actual = $this->CI->todo->get_group_select($user_id);
|
|
$this->assertEquals($expected, $actual);
|
|
}
|
|
}
|
|
// End of TodoLibTest.php
|