Commit 0bf3639a authored by Mickaël Desfrênes's avatar Mickaël Desfrênes
Browse files

move file types TUI to Utilities

parent 1f54c7bd
Loading
Loading
Loading
Loading
+3 −1
Original line number Diff line number Diff line
@@ -607,7 +607,6 @@ class JamaAdminApp(App):
        ("projects", "Projects"),
        ("users", "Users"),
        ("tasks", "Task results"),
        ("filetypes", "Filetypes"),
        ("utilities", "Utilities"),
    ]
    MODE_COMMANDS = {
@@ -1996,6 +1995,7 @@ class JamaAdminApp(App):
            ("cache", "Clear caches"),
            ("config", "Edit $JAMA_VAR_DIR/env"),
            ("effective_settings", "View effective scalar settings"),
            ("filetypes", "Filetypes"),
            ("filetype_fixtures", "Load built-in file types"),
        ]
        for key, label in utilities:
@@ -2014,6 +2014,8 @@ class JamaAdminApp(App):
            self.open_mode("config")
        elif utility == "effective_settings":
            self.open_mode("effective_settings")
        elif utility == "filetypes":
            self.open_mode("filetypes")
        elif utility == "filetype_fixtures":
            self.confirm(
                "Load built-in file types?",
+25 −0
Original line number Diff line number Diff line
@@ -503,6 +503,31 @@ class AdminUiAppTestCase(TransactionTestCase):
        with patch.dict(os.environ, {"DJANGO_ALLOW_ASYNC_UNSAFE": "true"}):
            asyncio.run(run_app())

    def test_filetypes_are_opened_from_utilities(self):
        async def run_app():
            from jama.adminui.app import JamaAdminApp

            app = JamaAdminApp()
            self.assertNotIn("filetypes", [mode for mode, _ in app.NAV_ITEMS])

            async with app.run_test() as pilot:
                app.load("utilities")
                await pilot.pause()
                filetypes_row = next(
                    index
                    for index, (_, utility) in enumerate(app.rows)
                    if utility == "filetypes"
                )
                app.table().move_cursor(row=filetypes_row)
                await pilot.press("enter")
                await pilot.pause()

                self.assertEqual(app.mode_name, "filetypes")
                self.assertEqual(app.history[-1][0], "utilities")

        with patch.dict(os.environ, {"DJANGO_ALLOW_ASYNC_UNSAFE": "true"}):
            asyncio.run(run_app())

    def test_snapshot_export_uses_project_choice_list(self):
        project = Project.objects.create(label="Exportable", description="")