Пример #1
0
async def test_remove_competition_cancel(storage_dir, activity_testbed,
                                         xcsoar_dir, async_sleep,
                                         sample_competition) -> None:
    # WHEN
    async with activity_testbed.shown(CompetitionDetailsScreen):
        # Let everything to be downloaded
        await activity_testbed.gather_tasks()
        rendered = activity_testbed.render()

        # WHEN
        # Navigate to "remove" button and press it
        await activity_testbed.keypress("down", "right", "enter")

        # THEN
        rendered = activity_testbed.render()

        assert "Test competition" in rendered
        assert "Are you sure you want to remove this competion?" in rendered

        # Cancel
        await activity_testbed.keypress("enter")

        rendered = activity_testbed.render()

        # We are back to details screen
        assert "XCSoar profiles" in rendered

    # The test competition should be gone
    assert storage.list_competitions() == [sample_competition]
    assert storage.get_settings(
    ).current_competition_id is sample_competition.id
Пример #2
0
    def show(self) -> None:
        super().show()

        has_comps = storage.list_competitions()
        if not has_comps:
            return self._run_screen("welcome")

        curid = self._get_current_comp_id()
        if curid:
            return self._run_screen("details")
Пример #3
0
def test_delete_competition(storage_dir) -> None:
    comp = storage.StoredCompetition(
        id="first",
        title="First Competition",
        soaringspot_url="http://localhost",
        airspace="airspace.txt",
        waypoints="waypoints.txt",
    )

    storage.save_competition(comp)
    comps = storage.list_competitions()
    assert [c.id for c in comps] == ["first"]

    # WHEN
    storage.delete_competition(comp.id)

    # THEN
    comps = storage.list_competitions()
    assert comps == []
Пример #4
0
 def _populate_stored_comps(self):
     for comp in storage.list_competitions():
         btn = widget.CMSelectableListItem(comp.title)
         urwid.connect_signal(btn, "click", self._on_competition_selected, comp)
         self._items.append(btn)
Пример #5
0
def test_list_competitions_empty(storage_dir) -> None:
    # WHEN
    comps = storage.list_competitions()

    # THEN
    assert comps == []