File: ui_top_menu_test.py

package info (click to toggle)
nc-py-api 0.19.2-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 2,320 kB
  • sloc: python: 12,415; makefile: 238; xml: 100; javascript: 56; sh: 14
file content (64 lines) | stat: -rw-r--r-- 3,010 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
import pytest

from nc_py_api import NextcloudExceptionNotFound


def test_register_ui_top_menu(nc_app):
    nc_app.ui.top_menu.register("test_name", "Disp name", "")
    result = nc_app.ui.top_menu.get_entry("test_name")
    assert result.name == "test_name"
    assert result.display_name == "Disp name"
    assert result.icon == ""
    assert result.admin_required is False
    assert result.appid == nc_app.app_cfg.app_name
    nc_app.ui.top_menu.unregister(result.name)
    assert nc_app.ui.top_menu.get_entry("test_name") is None
    nc_app.ui.top_menu.unregister(result.name)
    with pytest.raises(NextcloudExceptionNotFound):
        nc_app.ui.top_menu.unregister(result.name, not_fail=False)
    nc_app.ui.top_menu.register("test_name", "display", "/img/test.svg", admin_required=True)
    result = nc_app.ui.top_menu.get_entry("test_name")
    assert result.name == "test_name"
    assert result.display_name == "display"
    assert result.icon == "img/test.svg"
    assert result.admin_required is True
    nc_app.ui.top_menu.register("test_name", "Display name", "", admin_required=False)
    result = nc_app.ui.top_menu.get_entry("test_name")
    assert result.name == "test_name"
    assert result.display_name == "Display name"
    assert result.icon == ""
    assert result.admin_required is False
    nc_app.ui.top_menu.unregister(result.name)
    assert nc_app.ui.top_menu.get_entry("test_name") is None
    assert str(result).find("name=test_name")


@pytest.mark.asyncio(scope="session")
async def test_register_ui_top_menu_async(anc_app):
    await anc_app.ui.top_menu.register("test_name", "Disp name", "")
    result = await anc_app.ui.top_menu.get_entry("test_name")
    assert result.name == "test_name"
    assert result.display_name == "Disp name"
    assert result.icon == ""
    assert result.admin_required is False
    assert result.appid == anc_app.app_cfg.app_name
    await anc_app.ui.top_menu.unregister(result.name)
    assert await anc_app.ui.top_menu.get_entry("test_name") is None
    await anc_app.ui.top_menu.unregister(result.name)
    with pytest.raises(NextcloudExceptionNotFound):
        await anc_app.ui.top_menu.unregister(result.name, not_fail=False)
    await anc_app.ui.top_menu.register("test_name", "display", "/img/test.svg", admin_required=True)
    result = await anc_app.ui.top_menu.get_entry("test_name")
    assert result.name == "test_name"
    assert result.display_name == "display"
    assert result.icon == "img/test.svg"
    assert result.admin_required is True
    await anc_app.ui.top_menu.register("test_name", "Display name", "", admin_required=False)
    result = await anc_app.ui.top_menu.get_entry("test_name")
    assert result.name == "test_name"
    assert result.display_name == "Display name"
    assert result.icon == ""
    assert result.admin_required is False
    await anc_app.ui.top_menu.unregister(result.name)
    assert await anc_app.ui.top_menu.get_entry("test_name") is None
    assert str(result).find("name=test_name")