[FastAPI] Modularize homepage and add side panel

This puts one more toward completion of the homepage
overall; we'll need to still implement the authenticated
user dashboard after this.

Signed-off-by: Kevin Morris <kevr@0cost.org>
This commit is contained in:
Kevin Morris 2021-07-28 13:28:17 -07:00
parent 9e73936c4e
commit d9cdd5faef
No known key found for this signature in database
GPG key ID: F7E46DED420788F3
10 changed files with 500 additions and 102 deletions

View file

@ -9,6 +9,7 @@ from aurweb.models.package import Package
from aurweb.models.package_base import PackageBase
from aurweb.models.user import User
from aurweb.packages import util
from aurweb.redis import kill_redis
from aurweb.testing import setup_test_db
@ -33,7 +34,8 @@ def maintainer() -> User:
@pytest.fixture
def package(maintainer: User) -> Package:
pkgbase = db.create(PackageBase, Name="test-pkg", Maintainer=maintainer)
pkgbase = db.create(PackageBase, Name="test-pkg",
Packager=maintainer, Maintainer=maintainer)
yield db.create(Package, Name=pkgbase.Name, PackageBase=pkgbase)
@ -49,3 +51,18 @@ def test_package_link(client: TestClient, maintainer: User, package: Package):
Provides=package.Name)
expected = f"{OFFICIAL_BASE}/packages/?q={package.Name}"
assert util.package_link(package) == expected
def test_updated_packages(maintainer: User, package: Package):
expected = {
"Name": package.Name,
"Version": package.Version,
"PackageBase": {
"ModifiedTS": package.PackageBase.ModifiedTS
}
}
kill_redis() # Kill it here to ensure we're on a fake instance.
assert util.updated_packages(1, 0) == [expected]
assert util.updated_packages(1, 600) == [expected]
kill_redis() # Kill it again, in case other tests use a real instance.