"""Страница /feed_dispensers — auth и HTML."""
from __future__ import annotations
import unittest
from app import create_app, db
from app.services.setup_state import mark_setup_complete
from tests.helpers.zootech_test_helpers import ZootechTestConfig, drain_response
class FeedDispensersPageServedTests(unittest.TestCase):
def setUp(self) -> None:
self.app = create_app(ZootechTestConfig)
self.client = self.app.test_client()
self.ctx = self.app.app_context()
self.ctx.push()
db.create_all()
mark_setup_complete(self.app)
def tearDown(self) -> None:
db.session.remove()
db.drop_all()
self.ctx.pop()
def test_feed_dispensers_redirects_without_session(self) -> None:
resp = self.client.get("/feed_dispensers", follow_redirects=False)
self.assertEqual(resp.status_code, 302)
drain_response(resp)
def test_feed_dispensers_ok_after_login(self) -> None:
self.client.post(
"/api/auth/login",
json={"login": "zootech-test-admin", "password": "zootech-test-secret"},
)
resp = self.client.get("/feed_dispensers")
self.assertEqual(resp.status_code, 200)
drain_response(resp)
if __name__ == "__main__":
unittest.main()