From 686c0322907ed3bb8015c42f050f845323549776 Mon Sep 17 00:00:00 2001 From: Kevin Morris Date: Thu, 11 Nov 2021 19:55:04 -0800 Subject: [PATCH] feat(fastapi): add id="licenses" to package details licenses Signed-off-by: Kevin Morris --- templates/partials/packages/details.html | 2 +- test/test_packages_routes.py | 16 ++++++++++++++++ 2 files changed, 17 insertions(+), 1 deletion(-) diff --git a/templates/partials/packages/details.html b/templates/partials/packages/details.html index c9b95a26..67c32170 100644 --- a/templates/partials/packages/details.html +++ b/templates/partials/packages/details.html @@ -64,7 +64,7 @@ {% endif %} {% if show_package_details and licenses and licenses.count() %} - + {{ "Licenses" | tr }}: {{ licenses.all() | join(', ', attribute='License.Name') }} diff --git a/test/test_packages_routes.py b/test/test_packages_routes.py index 1dabada8..1bdb3ea3 100644 --- a/test/test_packages_routes.py +++ b/test/test_packages_routes.py @@ -11,6 +11,7 @@ from fastapi.testclient import TestClient from sqlalchemy import and_ from aurweb import asgi, db, defaults +from aurweb.models import License, PackageLicense from aurweb.models.account_type import USER_ID, AccountType from aurweb.models.dependency_type import DependencyType from aurweb.models.official_provider import OfficialProvider @@ -240,6 +241,17 @@ def test_package(client: TestClient, package: Package): RelTypeID=CONFLICTS_ID, RelName="test_conflict2") + # Create some licenses. + licenses = [ + db.create(License, Name="test_license1"), + db.create(License, Name="test_license2") + ] + + db.create(PackageLicense, PackageID=package.ID, + License=licenses[0]) + db.create(PackageLicense, PackageID=package.ID, + License=licenses[1]) + with client as request: resp = request.get(package_endpoint(package)) assert resp.status_code == int(HTTPStatus.OK) @@ -260,6 +272,10 @@ def test_package(client: TestClient, package: Package): pkgbase = row.find("./td/a") assert pkgbase.text.strip() == package.PackageBase.Name + licenses = root.xpath('//tr[@id="licenses"]/td') + expected = ["test_license1", "test_license2"] + assert licenses[0].text.strip() == ", ".join(expected) + provides = root.xpath('//tr[@id="provides"]/td') expected = ["test_provider1", "test_provider2"] assert provides[0].text.strip() == ", ".join(expected)