$taskAggregate->setFactory($factory); $request = new Request(); $response = $taskAggregate->saveTask($request); echo $response->getJSON(); }); $controller->add('/task/delete', function () { $factory = new TaskEntityFactory(); $taskAggregate = new TaskAggregate(); $taskAggregate->setFactory($factory); $request = new Request(); $response = $taskAggregate->deleteTask($request); echo $response->getJSON(); }); $controller->add('/task/update-status', function () { $factory = new TaskEntityFactory(); $taskAggregate = new TaskAggregate(); $taskAggregate->setFactory($factory); $request = new Request(); $response = $taskAggregate->changeTaskStatus($request); echo $response->getJSON(); }); $controller->add('/report/tasks', function () { $factory = new ReportEntityFactory(); $reportAggregate = new ReportAggregate(); $reportAggregate->setFactory($factory); $request = new Request(); $response = $reportAggregate->getTasks($request); echo $response->getJSON(); }); $controller->add('/log/tasks', function () { $factory = new ReportEntityFactory();
public function testStatusChange() { $pdo = Database::connect(); $date = new \DateTimeImmutable(); $string = 'this is a description for status changes' . microtime(true); $statement = $pdo->prepare('INSERT INTO task (description, dueDate, status, deleted) values (:description, :dueDate, :status, :deleted)'); $statement->execute(array(':description' => $string, ':dueDate' => $date->format('Y-m-d H:i:s'), ':status' => 1, ':deleted' => 0)); $id = $pdo->lastInsertId(); //---------------------------------------------------------------------- $_POST['id'] = $id; $_POST['status'] = 0; $_SERVER['REQUEST_METHOD'] = 'POST'; $newRequest = new Request(); $factory = new EntityFactory(); $taskAggregate = new TaskAggregate(); $taskAggregate->setFactory($factory); $response = $taskAggregate->changeTaskStatus($newRequest); $this->assertEquals(1, $response->getData()->success); $statement = $pdo->prepare('SELECT * FROM task WHERE id=:id AND status=:status'); $statement->execute(array(':id' => $id, ':status' => 0)); $newResult = $statement->fetch(); $this->assertNotEmpty($newResult); $stmt = $pdo->prepare('DELETE FROM task WHERE id = :id'); $stmt->execute(array(':id' => $id)); }