mirror of
https://gitlab.archlinux.org/archlinux/aurweb.git
synced 2025-02-03 10:43:03 +01:00
feat: Add "Requests" filter option for package name
- Add package name textbox for filtering requests (with auto-suggest) - Make "x pending requests" a link for TU/Dev on the package details page Signed-off-by: moson-mo <mo-son@mailbox.org>
This commit is contained in:
parent
acdb2864de
commit
f24fae0ce6
7 changed files with 109 additions and 8 deletions
|
@ -555,6 +555,16 @@ def test_package_authenticated(client: TestClient, user: User, package: Package)
|
|||
for expected_text in expected:
|
||||
assert expected_text in resp.text
|
||||
|
||||
# make sure we don't have these. Only for Maintainer/TUs/Devs
|
||||
not_expected = [
|
||||
"Disown Package",
|
||||
"View Requests",
|
||||
"Delete Package",
|
||||
"Merge Package",
|
||||
]
|
||||
for unexpected_text in not_expected:
|
||||
assert unexpected_text not in resp.text
|
||||
|
||||
# When no requests are up, make sure we don't see the display for them.
|
||||
root = parse_root(resp.text)
|
||||
selector = '//div[@id="actionlist"]/ul/li/span[@class="flagged"]'
|
||||
|
@ -586,8 +596,19 @@ def test_package_authenticated_maintainer(
|
|||
for expected_text in expected:
|
||||
assert expected_text in resp.text
|
||||
|
||||
# make sure we don't have these. Only for TUs/Devs
|
||||
not_expected = [
|
||||
"1 pending request",
|
||||
"Delete Package",
|
||||
"Merge Package",
|
||||
]
|
||||
for unexpected_text in not_expected:
|
||||
assert unexpected_text not in resp.text
|
||||
|
||||
def test_package_authenticated_tu(client: TestClient, tu_user: User, package: Package):
|
||||
|
||||
def test_package_authenticated_tu(
|
||||
client: TestClient, tu_user: User, package: Package, pkgreq: PackageRequest
|
||||
):
|
||||
cookies = {"AURSID": tu_user.login(Request(), "testPassword")}
|
||||
with client as request:
|
||||
request.cookies = cookies
|
||||
|
@ -603,6 +624,7 @@ def test_package_authenticated_tu(client: TestClient, tu_user: User, package: Pa
|
|||
"Vote for this package",
|
||||
"Enable notifications",
|
||||
"Manage Co-Maintainers",
|
||||
"1 pending request",
|
||||
"Submit Request",
|
||||
"Delete Package",
|
||||
"Merge Package",
|
||||
|
|
|
@ -912,6 +912,44 @@ def test_requests_for_maintainer_requests(
|
|||
assert len(rows) == 2
|
||||
|
||||
|
||||
def test_requests_with_package_name_filter(
|
||||
client: TestClient,
|
||||
tu_user: User,
|
||||
user2: User,
|
||||
packages: list[Package],
|
||||
requests: list[PackageRequest],
|
||||
):
|
||||
# test as TU
|
||||
cookies = {"AURSID": tu_user.login(Request(), "testPassword")}
|
||||
with client as request:
|
||||
request.cookies = cookies
|
||||
resp = request.get(
|
||||
"/requests",
|
||||
params={"filter_pkg_name": packages[0].PackageBase.Name},
|
||||
)
|
||||
assert resp.status_code == int(HTTPStatus.OK)
|
||||
|
||||
root = parse_root(resp.text)
|
||||
rows = root.xpath('//table[@class="results"]/tbody/tr')
|
||||
# We only expect 1 request for our first package
|
||||
assert len(rows) == 1
|
||||
|
||||
# test as regular user, not related to our package
|
||||
cookies = {"AURSID": user2.login(Request(), "testPassword")}
|
||||
with client as request:
|
||||
request.cookies = cookies
|
||||
resp = request.get(
|
||||
"/requests",
|
||||
params={"filter_pkg_name": packages[0].PackageBase.Name},
|
||||
)
|
||||
assert resp.status_code == int(HTTPStatus.OK)
|
||||
|
||||
root = parse_root(resp.text)
|
||||
rows = root.xpath('//table[@class="results"]/tbody/tr')
|
||||
# We don't expect to get any requests
|
||||
assert len(rows) == 0
|
||||
|
||||
|
||||
def test_requests_by_deleted_users(
|
||||
client: TestClient, user: User, tu_user: User, pkgreq: PackageRequest
|
||||
):
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue