Browse Source

Fix Todo lib tests, and migrations

Timothy J. Warren 4 years ago
parent
commit
0715d814b6

+ 1
- 0
README.md View File

@@ -0,0 +1 @@
1
+# Tim's Todo

+ 34
- 0
migrations/20140808164827_initial_migration.php View File

@@ -43,6 +43,9 @@ class InitialMigration extends AbstractMigration {
43 43
 			$this->table('todo_group')
44 44
 				->addColumn('name', 'string', ['limit' => 128])
45 45
 				->create();
46
+
47
+			// Seed data
48
+			$this->execute("INSERT INTO todo_group VALUES (0, 'global');");
46 49
 		}
47 50
 
48 51
 		// Category table
@@ -54,6 +57,15 @@ class InitialMigration extends AbstractMigration {
54 57
 				->addColumn('group_id', 'integer', ['default' => 0])
55 58
 				->addForeignKey('group_id', 'todo_group', 'id')
56 59
 				->create();
60
+
61
+			// Seed the data
62
+			$this->execute("
63
+				INSERT INTO todo_category VALUES (1, 'Work', 'Tasks related to work', 0);
64
+				INSERT INTO todo_category VALUES (7, 'Optional ', 'Tasks that are not necessary, but it would be nice to see them completed.', 0);
65
+				INSERT INTO todo_category VALUES (10, 'School', 'School related tasks', 0);
66
+				INSERT INTO todo_category VALUES (11, 'Other', 'Tasks that don''t fit in another category.', 0);
67
+				INSERT INTO todo_category VALUES (13, 'Personal', 'Personal tasks to do', 0);
68
+			");
57 69
 		}
58 70
 
59 71
 		// Priority list table
@@ -62,6 +74,19 @@ class InitialMigration extends AbstractMigration {
62 74
 			$this->table('todo_priority')
63 75
 				->addColumn('value', 'string')
64 76
 				->create();
77
+
78
+			// Seed the data
79
+			$this->execute("
80
+				INSERT INTO todo_priority VALUES (1, 'Optional');
81
+				INSERT INTO todo_priority VALUES (2, 'Lowest');
82
+				INSERT INTO todo_priority VALUES (3, 'Lower');
83
+				INSERT INTO todo_priority VALUES (4, 'Low');
84
+				INSERT INTO todo_priority VALUES (5, 'Normal');
85
+				INSERT INTO todo_priority VALUES (6, 'High');
86
+				INSERT INTO todo_priority VALUES (7, 'Higher');
87
+				INSERT INTO todo_priority VALUES (8, 'Highest');
88
+				INSERT INTO todo_priority VALUES (9, 'Immediate');
89
+			");
65 90
 		}
66 91
 
67 92
 		// Status list table
@@ -70,6 +95,15 @@ class InitialMigration extends AbstractMigration {
70 95
 			$this->table('todo_status')
71 96
 				->addColumn('value', 'string')
72 97
 				->create();
98
+
99
+			// Seed the data
100
+			$this->execute("
101
+				INSERT INTO todo_status VALUES (3, 'In Progress');
102
+				INSERT INTO todo_status VALUES (4, 'On Hold');
103
+				INSERT INTO todo_status VALUES (5, 'Canceled');
104
+				INSERT INTO todo_status VALUES (2, 'Completed');
105
+				INSERT INTO todo_status VALUES (1, 'Created');
106
+			");
73 107
 		}
74 108
 
75 109
 		// Task table

+ 6
- 3
migrations/20140811203650_view_creation_migration.php View File

@@ -22,9 +22,12 @@ class ViewCreationMigration extends AbstractMigration
22 22
 	 */
23 23
 	public function up()
24 24
 	{
25
-		$this->execute("CREATE VIEW todo_task_view AS
26
-            SELECT todo_item.id, todo_item.user_id, todo_item.category_id, todo_item.title, todo_item.due, todo_item.modified, todo_item.created, todo_category.title AS category, todo_priority.value AS priority, todo_status.value AS status, todo_status.id AS status_id FROM (((todo_item LEFT JOIN todo_category ON ((todo_category.id = todo_item.category_id))) LEFT JOIN todo_priority ON ((todo_priority.id = todo_item.priority))) LEFT JOIN todo_status ON ((todo_status.id = todo_item.status))) ORDER BY todo_item.due, todo_item.priority DESC, todo_item.created;
27
-            ");
25
+		if ( ! $this->hasTable('todo_task_view'))
26
+		{
27
+			$this->execute("CREATE VIEW todo_task_view AS
28
+				SELECT todo_item.id, todo_item.user_id, todo_item.category_id, todo_item.title, todo_item.due, todo_item.modified, todo_item.created, todo_category.title AS category, todo_priority.value AS priority, todo_status.value AS status, todo_status.id AS status_id FROM (((todo_item LEFT JOIN todo_category ON ((todo_category.id = todo_item.category_id))) LEFT JOIN todo_priority ON ((todo_priority.id = todo_item.priority))) LEFT JOIN todo_status ON ((todo_status.id = todo_item.status))) ORDER BY todo_item.due, todo_item.priority DESC, todo_item.created;
29
+				");
30
+		}
28 31
 	}
29 32
 
30 33
 	/**

+ 5
- 7
tests/libs/TodoLibTest.php View File

@@ -4,10 +4,10 @@ class TodoLibTest extends Todo_TestCase {
4 4
 
5 5
 	protected $tables = [
6 6
 		'todo_priority' => 'todo_priority',
7
-		'todo_category' => 'todo_category',
8 7
 		'todo_user' => 'todo_user',
9 8
 		'todo_group' => 'todo_group',
10 9
 		'todo_category' => 'todo_category',
10
+		'todo_group_users_link' => 'todo_group_users_link',
11 11
 		'todo_user_friend_link' => 'todo_user_friend_link',
12 12
 	];
13 13
 
@@ -15,7 +15,6 @@ class TodoLibTest extends Todo_TestCase {
15 15
 	{
16 16
 		parent::setUp();
17 17
 		$this->CI->load->library('todo');
18
-		$this->dbfixt('todo_priority', 'todo_category');
19 18
 	}
20 19
 
21 20
 	public function testGetUserFromId()
@@ -357,7 +356,7 @@ class TodoLibTest extends Todo_TestCase {
357 356
 			[
358 357
 				'user_id' => 1,
359 358
 				'expected' => []
360
-			],/*[
359
+			],[
361 360
 				'user_id' => 3,
362 361
 				'expected' => [
363 362
 					array (
@@ -365,7 +364,7 @@ class TodoLibTest extends Todo_TestCase {
365 364
 						'name' => 'shared',
366 365
 					),
367 366
 				]
368
-			]*/
367
+			]
369 368
 		];
370 369
 	}
371 370
 
@@ -417,7 +416,6 @@ class TodoLibTest extends Todo_TestCase {
417 416
 
418 417
 	public function testGetFriendsInGroup()
419 418
 	{
420
-$this->markTestSkipped();
421 419
 		$expected = [
422 420
 			array (
423 421
 				'user_id' => '7',
@@ -547,10 +545,10 @@ $this->markTestSkipped();
547 545
 	public function dataGetGroupSelect()
548 546
 	{
549 547
 		return [
550
-			/*[
548
+			[
551 549
 				'user_id' => 3,
552 550
 				'expected' => T4 . '<option value="62">shared</option>' . NL
553
-			],*/
551
+			],
554 552
 			[
555 553
 				'user_id' => 1,
556 554
 				'expected' => ''