147 lines
3.7 KiB
PHP
147 lines
3.7 KiB
PHP
|
<?php
|
||
|
|
||
|
class TaskModelNoFixturesTest extends Todo_TestCase {
|
||
|
|
||
|
public function setUp()
|
||
|
{
|
||
|
parent::setUp();
|
||
|
$this->CI->load->model('task_model');
|
||
|
$this->CI->form_validation->reset();
|
||
|
}
|
||
|
|
||
|
public function dataValidateTask()
|
||
|
{
|
||
|
return [
|
||
|
'Empty task with reminder validation' => [
|
||
|
'post' => [
|
||
|
'due' => 'April 27, 2014',
|
||
|
'reminder' => 'rem_true'
|
||
|
],
|
||
|
'expected' => [
|
||
|
'The Title field is required.',
|
||
|
'The Description field is required.',
|
||
|
'The Category field is required.',
|
||
|
'The Priority field is required.',
|
||
|
'You must enter a due date in YYYY-MM-DD format.',
|
||
|
'You must set a due date in order to get a reminder.',
|
||
|
'You must put numeric hours and minutes for a reminder time.'
|
||
|
]
|
||
|
],
|
||
|
'Empty task with bad due date' => [
|
||
|
'post' => [
|
||
|
'due' => '165743248576543152',
|
||
|
],
|
||
|
'expected' => [
|
||
|
'The Title field is required.',
|
||
|
'The Description field is required.',
|
||
|
'The Category field is required.',
|
||
|
'The Priority field is required.',
|
||
|
'You must enter a due date in YYYY-MM-DD format.'
|
||
|
]
|
||
|
],
|
||
|
'Simple task validation' => [
|
||
|
'post' => [
|
||
|
'title' => 'A Test Task',
|
||
|
'desc' => 'A test task to validate with',
|
||
|
'category' => 7,
|
||
|
'priority' => 5,
|
||
|
'due' => '2015-03-09',
|
||
|
],
|
||
|
'expected' => TRUE,
|
||
|
/*'form_vals' => [
|
||
|
'title' => 'A Test Task',
|
||
|
'description' => 'A test task to validate with',
|
||
|
'category' => 7,
|
||
|
'due' => 1425873600,
|
||
|
'due_minute' => FALSE
|
||
|
],*/
|
||
|
],
|
||
|
'task validation with reminder' => [
|
||
|
'post' => [
|
||
|
'title' => 'A Test Task',
|
||
|
'desc' => 'A test task to validate with',
|
||
|
'category' => 7,
|
||
|
'priority' => 5,
|
||
|
'due' => '2015-03-09',
|
||
|
'reminder' => 'rem_true',
|
||
|
'rem_minutes' => 30,
|
||
|
'rem_hours' => 4
|
||
|
],
|
||
|
'expected' => TRUE,
|
||
|
/*'form_vals' => [
|
||
|
'title' => 'A Test Task',
|
||
|
'description' => 'A test task to validate with',
|
||
|
'category' => 7,
|
||
|
'due' => 1425873600,
|
||
|
'due_minute' => FALSE,
|
||
|
'reminder' => TRUE,
|
||
|
'rem_hours' => 4,
|
||
|
'rem_minutes' => 30
|
||
|
],*/
|
||
|
],
|
||
|
'task validation group shared task' => [
|
||
|
'post' => [
|
||
|
'title' => 'A Test Task',
|
||
|
'desc' => 'A test task to validate with',
|
||
|
'category' => 7,
|
||
|
'priority' => 5,
|
||
|
'due' => '2015-03-09',
|
||
|
'share' => TRUE,
|
||
|
'group' => [
|
||
|
'62'
|
||
|
],
|
||
|
'group_perms' => 2,
|
||
|
'friend_perms' => -1
|
||
|
],
|
||
|
'expected' => TRUE,
|
||
|
/*'form_vals' => [
|
||
|
'title' => 'A Test Task',
|
||
|
'description' => 'A test task to validate with',
|
||
|
'category' => 7,
|
||
|
'due' => 1425873600,
|
||
|
'due_minute' => FALSE,
|
||
|
],*/
|
||
|
],
|
||
|
'task validation user shared task' => [
|
||
|
'post' => [
|
||
|
'title' => 'A Test Task',
|
||
|
'desc' => 'A test task to validate with',
|
||
|
'category' => 7,
|
||
|
'priority' => 5,
|
||
|
'due' => '2015-03-09',
|
||
|
'share' => TRUE,
|
||
|
'friend' => [3,7],
|
||
|
'friend_perms' => 2,
|
||
|
'group_perms' => -1
|
||
|
],
|
||
|
'expected' => TRUE,
|
||
|
/*'form_vals' => [
|
||
|
'title' => 'A Test Task',
|
||
|
'description' => 'A test task to validate with',
|
||
|
'category' => 7,
|
||
|
'due' => 1425873600,
|
||
|
'due_minute' => FALSE,
|
||
|
],*/
|
||
|
],
|
||
|
];
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* @dataProvider dataValidateTask
|
||
|
*/
|
||
|
public function testValidateTask($post, $expected)
|
||
|
{
|
||
|
$_POST = [];
|
||
|
$_POST = $post;
|
||
|
|
||
|
$actual = $this->CI->task_model->validate_task();
|
||
|
|
||
|
// Verify the form validation data
|
||
|
//$this->assertEquals($form_vals, $this->CI->task_model->form_vals);
|
||
|
|
||
|
|
||
|
// Verify the function data
|
||
|
$this->assertEquals($expected, $actual);
|
||
|
}
|
||
|
}
|
||
|
// End of TaskModelNoFixturesTest
|