import unittest
import app
class ApplicationTests(unittest.TestCase):
def test_transition(self):
task = {"id": "task-1", "status": "todo"}
self.assertEqual(app.transition(task, "done")["status"], "done")
self.assertEqual(task["status"], "todo")
with self.assertRaises(ValueError):
app.transition(task, "unknown")
if __name__ == "__main__":
unittest.main()