Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
35 changes: 22 additions & 13 deletions tests/gym_test.py
Original file line number Diff line number Diff line change
@@ -1,19 +1,22 @@
from pathlib import Path
import unittest
import responses

from pittapi import gym
from tests.mocks.gym_mocks import mock_gym_html

SAMPLE_PATH = Path() / "tests" / "samples"


class GymTest(unittest.TestCase):
def __init__(self, *args, **kwargs):
unittest.TestCase.__init__(self, *args, **kwargs)

@responses.activate
def test_fetch_gym_info(self):

responses.add(responses.GET, gym.GYM_URL, body=mock_gym_html, status=200)
with open(SAMPLE_PATH / "gym.html", "r") as f:
self.mock_gym_data = f.read()

gym_info = gym.get_all_gyms_info()
@responses.activate
def test_get_all_gyms_info(self):
responses.add(responses.GET, gym.GYM_URL, body=self.mock_gym_data, status=200)
expected_info = [
gym.Gym(name="Baierl Rec Center", last_updated="07/09/2024 09:05 AM", current_count=100, percent_full=50),
gym.Gym(
Expand All @@ -35,35 +38,41 @@ def test_fetch_gym_info(self):
gym.Gym(name="Pitt Sports Dome", last_updated="07/09/2024 09:05 AM", current_count=15, percent_full=20),
]

gym_info = gym.get_all_gyms_info()

self.assertEqual(gym_info, expected_info)

@responses.activate
def test_get_gym_info(self):
responses.add(responses.GET, gym.GYM_URL, body=mock_gym_html, status=200)

gym_info = gym.get_gym_info("Baierl Rec Center")
responses.add(responses.GET, gym.GYM_URL, body=self.mock_gym_data, status=200)
expected_info = gym.Gym(
name="Baierl Rec Center", last_updated="07/09/2024 09:05 AM", current_count=100, percent_full=50
)

gym_info = gym.get_gym_info("Baierl Rec Center")

self.assertEqual(gym_info, expected_info)

@responses.activate
def test_invalid_gym_name(self):
responses.add(responses.GET, gym.GYM_URL, body=mock_gym_html, status=200)
responses.add(responses.GET, gym.GYM_URL, body=self.mock_gym_data, status=200)

gym_info = gym.get_gym_info("Invalid Gym Name")

self.assertIsNone(gym_info)

@responses.activate
def test_valid_gym_name_not_all_info(self):
responses.add(responses.GET, gym.GYM_URL, body=mock_gym_html, status=200)
responses.add(responses.GET, gym.GYM_URL, body=self.mock_gym_data, status=200)

gym_info = gym.get_gym_info("Bellefield Hall: Court & Dance Studio")

self.assertIsNone(gym_info)

@responses.activate
def test_percentage_value_error(self):
responses.add(responses.GET, gym.GYM_URL, body=mock_gym_html, status=200)
responses.add(responses.GET, gym.GYM_URL, body=self.mock_gym_data, status=200)

gym_info = gym.get_gym_info("Bellefield Hall: Fitness Center & Weight Room")

gym_info = gym.get_gym_info("Bellefield Hall: Fitness Center & Weight Roomo")
self.assertIsNone(gym_info)
121 changes: 0 additions & 121 deletions tests/mocks/gym_mocks.py

This file was deleted.

119 changes: 119 additions & 0 deletions tests/samples/gym.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,119 @@
<div class="barChart" style="width:90%;">
Baierl Rec Center
<br>
<span style="color:green">(Open)</span>
<br>
Last Count: 100
<br>
Updated: 07/09/2024 09:05 AM
<div class="barChart_row" data-value="50.0">
<span class="barChart__value">50%</span>
<span class="barChart__bar" style=" background: rgb(239, 239, 239);">
<span class="barChart__barFill" style="background: #2A5B84;"></span>
</span>
</div>
</div>
<div class="barChart" style="width:90%;">
Bellefield Hall: Fitness Center & Weight Room
<br>
<span style="color:green">(Open)</span>
<br>
Last Count: 50
<br>
Updated: 07/09/2024 09:05 AM
<div class="barChart_row" data-value="33.0">
<span class="barChart__value">non%</span>
<span class="barChart__bar" style=" background: rgb(239, 239, 239);">
<span class="barChart__barFill" style="background: #2A5B84;"></span>
</span>
</div>
</div>
<div class="barChart" style="width:90%;">
Bellefield Hall: Court & Dance Studio
<br>
<span style="color:green">(Open)</span>
<br>
<!-- Missing Last Count -->
<!-- Missing Updated Date -->
<div class="barChart_row" data-value="38.0">
<span class="barChart__value">38%</span>
<span class="barChart__bar" style=" background: rgb(239, 239, 239);">
<span class="barChart__barFill" style="background: #2A5B84;"></span>
</span>
</div>
</div>
<div class="barChart" style="width:90%;">
Trees Hall: Fitness Center
<br>
<span style="color:green">(Open)</span>
<br>
Last Count: 70
<br>
Updated: 07/09/2024 09:05 AM
<div class="barChart_row" data-value="58.0">
<span class="barChart__value">58%</span>
<span class="barChart__bar" style=" background: rgb(239, 239, 239);">
<span class="barChart__barFill" style="background: #2A5B84;"></span>
</span>
</div>
</div>
<div class="barChart" style="width:90%;">
Trees Hall: Courts
<br>
<span style="color:green">(Open)</span>
<br>
Last Count: 20
<br>
Updated: 07/09/2024 09:05 AM
<div class="barChart_row" data-value="33.0">
<span class="barChart__value">33%</span>
<span class="barChart__bar" style=" background: rgb(239, 239, 239);">
<span class="barChart__barFill" style="background: #2A5B84;"></span>
</span>
</div>
</div>
<div class="barChart" style="width:90%;">
Trees Hall: Racquetball Courts & Multipurpose Room
<br>
<span style="color:green">(Open)</span>
<br>
Last Count: 10
<br>
Updated: 07/09/2024 09:05 AM
<div class="barChart_row" data-value="25.0">
<span class="barChart__value">25%</span>
<span class="barChart__bar" style=" background: rgb(239, 239, 239);">
<span class="barChart__barFill" style="background: #2A5B84;"></span>
</span>
</div>
</div>
<div class="barChart" style="width:90%;">
William Pitt Union
<br>
<span style="color:green">(Open)</span>
<br>
Last Count: 25
<br>
Updated: 07/09/2024 09:05 AM
<div class="barChart_row" data-value="25.0">
<span class="barChart__value">25%</span>
<span class="barChart__bar" style=" background: rgb(239, 239, 239);">
<span class="barChart__barFill" style="background: #2A5B84;"></span>
</span>
</div>
</div>
<div class="barChart" style="width:90%;">
Pitt Sports Dome
<br>
<span style="color:green">(Open)</span>
<br>
Last Count: 15
<br>
Updated: 07/09/2024 09:05 AM
<div class="barChart_row" data-value="20.0">
<span class="barChart__value">20%</span>
<span class="barChart__bar" style=" background: rgb(239, 239, 239);">
<span class="barChart__barFill" style="background: #2A5B84;"></span>
</span>
</div>
</div>
Loading