from flask import Response from flask_api import status from monsun_backend.container import get_initialize_container from utilities import TestUser def test_login_as_admin_then_get_status_ok(client): container = get_initialize_container() response: Response = client().post( "/login", data={ "email": container.config.admin_user_email(), "password": container.config.admin_user_password(), }, ) assert response.status_code == status.HTTP_200_OK def test_logout_as_not_logged_in_user_then_get_status_found(client): response: Response = client().get( "/logout", ) assert response.status_code == status.HTTP_302_FOUND def test_logout_as_admin_then_get_status_found(as_admin: TestUser): response: Response = as_admin.client.get( "/logout", ) assert response.status_code == status.HTTP_302_FOUND def test_as_admin_access_admin_endpoint_then_get_status_ok(as_admin: TestUser): response: Response = as_admin.client.get( "/admin", ) assert response.status_code == status.HTTP_200_OK def test_as_not_logged_in_user_access_admin_endpoint_then_get_status_forbidden( client, ): # noqa response: Response = client().get( "/admin", ) assert response.status_code == status.HTTP_403_FORBIDDEN