Added a service that can get all current tournaments list
This commit is contained in:
parent
e6023e0687
commit
3d0bd47079
26 changed files with 4305 additions and 204 deletions
|
@ -1,31 +1,24 @@
|
|||
import json
|
||||
from pathlib import Path
|
||||
from unittest.mock import patch
|
||||
|
||||
import pytest
|
||||
from aiohttp import ClientSession
|
||||
from connectors import GestionSportsConnector
|
||||
from gestion_sport_connector import GestionSportsConnector
|
||||
|
||||
from tests.unit_tests import responses
|
||||
|
||||
|
||||
def test_urls(connector, club):
|
||||
base_url = club.booking_platform.url
|
||||
relative_urls = club.booking_platform.urls
|
||||
base_url = "https://ptf1.com"
|
||||
|
||||
relative_landing_url = relative_urls.get("landing-page").path
|
||||
assert connector.landing_url == f"{base_url}/{relative_landing_url}"
|
||||
|
||||
relative_login_url = relative_urls.get("login").path
|
||||
assert connector.login_url == f"{base_url}/{relative_login_url}"
|
||||
|
||||
relative_booking_url = relative_urls.get("booking").path
|
||||
assert connector.booking_url == f"{base_url}/{relative_booking_url}"
|
||||
|
||||
relative_user_bookings_url = relative_urls.get("user-bookings").path
|
||||
assert connector.user_bookings_url == f"{base_url}/{relative_user_bookings_url}"
|
||||
|
||||
relative_cancel_url = relative_urls.get("cancellation").path
|
||||
assert connector.booking_cancellation_url == f"{base_url}/{relative_cancel_url}"
|
||||
assert connector.landing_url == f"{base_url}/landing.html"
|
||||
assert connector.login_url == f"{base_url}/login.html"
|
||||
assert connector.booking_url == f"{base_url}/booking.html"
|
||||
assert connector.user_bookings_url == f"{base_url}/user_bookings.html"
|
||||
assert connector.booking_cancellation_url == f"{base_url}/cancel.html"
|
||||
assert connector.tournaments_sessions_url == f"{base_url}/tournaments_sessions.php"
|
||||
assert connector.tournaments_list_url == f"{base_url}/tournaments_list.html?event="
|
||||
|
||||
|
||||
@patch("config.get_resources_folder")
|
||||
|
@ -34,19 +27,27 @@ def test_urls_payload_templates(mock_resources, club):
|
|||
mock_resources.return_value = path_to_resources
|
||||
|
||||
connector = GestionSportsConnector(club)
|
||||
relative_urls = club.booking_platform.urls
|
||||
|
||||
login_payload = relative_urls.get("login").payload_template
|
||||
assert connector.login_template == path_to_resources / login_payload
|
||||
|
||||
booking_payload = relative_urls.get("booking").payload_template
|
||||
assert connector.booking_template == path_to_resources / booking_payload
|
||||
|
||||
user_bookings_payload = relative_urls.get("user-bookings").payload_template
|
||||
assert connector.user_bookings_template == path_to_resources / user_bookings_payload
|
||||
|
||||
cancel_payload = relative_urls.get("cancellation").payload_template
|
||||
assert connector.booking_cancel_template == path_to_resources / cancel_payload
|
||||
assert (
|
||||
connector.login_template
|
||||
== path_to_resources / "gestion-sports/login-payload.txt"
|
||||
)
|
||||
assert (
|
||||
connector.booking_template
|
||||
== path_to_resources / "gestion-sports/booking-payload.txt"
|
||||
)
|
||||
assert (
|
||||
connector.user_bookings_template
|
||||
== path_to_resources / "gestion-sports/user-bookings-payload.txt"
|
||||
)
|
||||
assert (
|
||||
connector.booking_cancel_template
|
||||
== path_to_resources / "gestion-sports/booking-cancellation-payload.txt"
|
||||
)
|
||||
assert (
|
||||
connector.tournaments_sessions_template
|
||||
== path_to_resources / "gestion-sports/tournament-sessions-payload.txt"
|
||||
)
|
||||
|
||||
|
||||
@pytest.mark.asyncio
|
||||
|
@ -143,3 +144,35 @@ async def test_cancel_booking_success(
|
|||
)
|
||||
|
||||
assert await response.json() == cancellation_success_from_start[4]
|
||||
|
||||
|
||||
@pytest.mark.asyncio
|
||||
async def test_tournament_sessions(
|
||||
aioresponses, connector, user, tournament_sessions_json
|
||||
):
|
||||
responses.set_tournaments_sessions_response(
|
||||
aioresponses, connector, tournament_sessions_json
|
||||
)
|
||||
async with ClientSession() as session:
|
||||
response = await connector.send_tournaments_sessions_request(session)
|
||||
|
||||
assert response.status == 200
|
||||
|
||||
all_sessions = json.loads(await response.text())
|
||||
sessions = all_sessions.get("Inscription tournois:school-outline")
|
||||
assert len(sessions) == 1
|
||||
|
||||
|
||||
@pytest.mark.asyncio
|
||||
async def test_send_tournaments_request(
|
||||
aioresponses, connector, user, tournaments_html
|
||||
):
|
||||
tournament_session_id = "255"
|
||||
responses.set_tournaments_list_response(
|
||||
aioresponses, connector, tournament_session_id, tournaments_html
|
||||
)
|
||||
async with ClientSession() as session:
|
||||
response = await connector.send_tournaments_request(
|
||||
session, tournament_session_id
|
||||
)
|
||||
assert "<span class='nb_place_libre'>Complet</span>" in await response.text()
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue