def test_list_if_user_has_invites_and_no_notebook(self): user = User(email='*****@*****.**') notebook = Notebook(name='some notebook', invites=[user.email]) DBSession.add_all([user, notebook]) result = self._call_view(user=user) self.assertEqual(result['notebooks'], []) self.assertEqual(result['invites'], [notebook.inv[0]])
def test_deleting_a_notebook_deletes_the_tasks(self): notebook = Notebook(name='tagada', users=[]) task = Task(notebook=notebook, name='stuff', periodicity=42) DBSession.add_all([notebook, task]) DBSession.flush() DBSession.delete(notebook) self.assertEqual(Task.query().count(), 0)
def test_deleting_a_task_deletes_the_executions(self): notebook = Notebook(name='tagada', users=[]) task = Task(notebook=notebook, name='stuff', periodicity=42) DBSession.add_all([notebook, task]) DBSession.flush() task.execute(None, 12) self.assertEqual(Execution.query().count(), 1) DBSession.delete(task) self.assertEqual(Execution.query().count(), 0)
def test_last_user_deletes_notebook(self): from augias.views import notebook_delete_post user = User(email='*****@*****.**') notebook = Notebook(name='wizzz', users=[user]) DBSession.add_all([user, notebook]) self.assertEqual(Notebook.query().count(), 1) request = DummyRequest(user=user) result = notebook_delete_post(notebook, request) self.assertEqual(Notebook.query().count(), 0)
def test_redirect_to_notebook_if_user_has_one_and_no_invites(self): user = User(email='*****@*****.**') notebook = Notebook(name='some notebook', users=[user]) DBSession.add_all([user, notebook]) DBSession.flush() self.assertEqual(Notebook.query().count(), 1) result = self._call_view(user=user) self.assertEqual(Notebook.query().count(), 1) self.assertEqual(result.code, 302) self.assertEqual(result.location, DummyRequest().resource_url(notebook))
def test_new_task(self): from augias.views import new_task user = User(email='*****@*****.**') notebook = Notebook(users=[user], name='some notebook') DBSession.add_all([user, notebook]) request = DummyRequest(dict(name='Task name', periodicity=12)) result = new_task(notebook, request) self.assertEqual(result.code, 302) task = DBSession.query(Task).one() self.assertEqual(task.name, 'Task name') self.assertEqual(task.periodicity, 12) self.assertEqual(task.notebook, notebook) self.assertEqual(len(task.executions), 0) self.assertEqual(task.last_execution, None)
def _get_task(self): notebook = Notebook(name='some notebook') task = Task(name='some task', notebook=notebook, periodicity=42) DBSession.add_all([notebook, task]) return task