37 lines
1.0 KiB
Python
37 lines
1.0 KiB
Python
from athleticotogo.athletico import Athletico
|
|
import unittest
|
|
import vcr
|
|
import os
|
|
import json
|
|
|
|
|
|
class TestAthletico(unittest.TestCase):
|
|
|
|
@classmethod
|
|
def setUpClass(cls) -> None:
|
|
with open('tests/data/input/sample_data.json') as f:
|
|
cls.tokens = json.load(f)['tokens']
|
|
|
|
def setUp(self):
|
|
os.chdir("..")
|
|
pass
|
|
|
|
@vcr.use_cassette(cassette_library_dir="tests/fixtures")
|
|
def test_extract(self):
|
|
a = Athletico()
|
|
episodes = a.fetch_episodes_for_access_code(self.tokens[0])
|
|
self.assertIn('id', episodes[0])
|
|
self.assertIn('program', episodes[0])
|
|
self.assertIn('program_exercises', episodes[0]['program'])
|
|
|
|
@vcr.use_cassette(cassette_library_dir="tests/fixtures")
|
|
def test_save_extraction_to_local(self):
|
|
a = Athletico()
|
|
for token in self.tokens:
|
|
episodes = a.fetch_episodes_for_access_code(token)
|
|
a.save_episodes(episodes, destination='tests/data/output')
|
|
pass
|
|
|
|
|
|
if __name__ == '__main__':
|
|
unittest.main() |