require search first in explore

This commit is contained in:
SowinskiBraeden committed 2026-06-29 12:42:50 -07:00
1 parent 74d8baa6d7
commit 737d6d7561
5 files changed
+199 -52

No files matched your search

+53
View File
@@ -3,6 +3,7 @@ import unittest
from pathlib import Path
from app import create_app
from boker.auth import hash_password
from boker.db import db
@@ -60,6 +61,58 @@ class SeoTests(unittest.TestCase):
self.assertIn("<loc>https://myboker.org/explore</loc>", body)
self.assertIn("<loc>https://myboker.org/help</loc>", body)
def test_explore_requires_search_before_showing_public_leagues(self):
with self.app.app_context():
from boker.db_models import League, User
owner = User(email="owner@example.com", password_hash=hash_password("password123"))
db.session.add(owner)
db.session.flush()
league = League(
name="Friday Night Poker",
slug="friday-night-poker",
public_key="friday1",
created_by_user_id=owner.id,
visibility="public",
)
db.session.add(league)
db.session.commit()
default_response = self.client.get("/explore")
default_html = default_response.get_data(as_text=True)
search_response = self.client.get("/explore?q=Friday")
search_html = search_response.get_data(as_text=True)
sitemap_response = self.client.get("/sitemap.xml")
sitemap_xml = sitemap_response.get_data(as_text=True)
self.assertEqual(default_response.status_code, 200)
self.assertIn("Enter a league name to search", default_html)
self.assertNotIn("Friday Night Poker", default_html)
self.assertEqual(search_response.status_code, 200)
self.assertIn("Friday Night Poker", search_html)
self.assertNotIn("/l/friday-night-poker-friday1", sitemap_xml)
def test_explore_search_handles_missing_database_tables(self):
with tempfile.TemporaryDirectory() as tmpdir:
db_path = Path(tmpdir) / "missing-tables.sqlite3"
app = create_app(
{
"TESTING": True,
"SQLALCHEMY_DATABASE_URI": f"sqlite:///{db_path}",
}
)
client = app.test_client()
response = client.get("/explore?q=Friday")
with app.app_context():
db.session.remove()
db.engine.dispose()
html = response.get_data(as_text=True)
self.assertEqual(response.status_code, 200)
self.assertIn("No public leagues found", html)
if __name__ == "__main__":
unittest.main()