def test_convert_purchase_history(monkeypatch, mocked_history): """Happy Path - Get List of Purchases""" monkeypatch.setattr(Session, "get", lambda a, b: mocked_history) pages = api.get_purchase_history(Session(), 1) res = api.convert_purchase_history(pages) assert len(res[0]) == 25 assert res[0][0].name == "Gatline"
def _populate_db(): """ Run with `python -c "from urdailyemail import email; email._populate_db()"` :return: """ with Session() as session: api.session_connect_to_ur(session, os.environ["UR_USER"], os.environ["UR_PASS"]) purchases_soup = api.get_purchase_history(session, 8) purchases = { item.id: item for sublist in api.convert_purchase_history(purchases_soup) for item in sublist } api.connect_and_initialize_database( "sqlite", str( Path(os.environ["USERPROFILE"] + "\Desktop\database\collection.sqlite"))) # purchases = [] # purchases.append(Purchase(name="Nameko", id=1540, price=3500, level=3)) # purchases.append(Purchase(name="Guillotinette", # id=1638, price=1000, level=5)) # purchases.append( # Purchase(name="Gus Rope", id=1632, price=10000, level=3)) # purchases.append( # Purchase(name="Sopiket", id=1703, price=7000, level=3)) # purchases.append(Purchase(name="Lucky", id=1338, price=2500, level=2)) api.write_history_to_database([item for item in purchases.values()])
def test_get_history_from_database_with_filters(monkeypatch, mocked_history): monkeypatch.setattr(Session, "get", lambda a, b: mocked_history) pages = api.get_purchase_history(Session(), 1) purchases = [ item for sublist in api.convert_purchase_history(pages) for item in sublist ] api.connect_and_initialize_database("sqlite", "data/test_collection.sqlite") api.write_history_to_database(purchases) res = api.get_history_from_database({"name": "Raoul"}) try: assert len(res) == 5 assert res[0].name == "Raoul" assert res[0].id == 1462 finally: with database.get_session() as session: session.query(purchase.Purchase).delete()
def test_get_history_from_database(monkeypatch, mocked_history): monkeypatch.setattr(Session, "get", lambda a, b: mocked_history) pages = api.get_purchase_history(Session(), 1) purchases = [ item for sublist in api.convert_purchase_history(pages) for item in sublist ] api.connect_and_initialize_database("sqlite", "data/test_collection.sqlite") api.write_history_to_database(purchases) res = api.get_history_from_database() try: assert res[0].hash_id assert res[0].name != "" assert res[0].id > 0 finally: with database.get_session() as session: session.query(purchase.Purchase).delete()
def test_write_history_to_database(monkeypatch, mocked_history): monkeypatch.setattr(Session, "get", lambda a, b: mocked_history) pages = api.get_purchase_history(Session(), 1) purchases = [ item for sublist in api.convert_purchase_history(pages) for item in sublist ] purchase_hashes = [purch.hash_id for purch in purchases] api.connect_and_initialize_database("sqlite", "data/test_collection.sqlite") api.write_history_to_database(purchases) try: with database.get_session() as session: res = [ item[0] for item in session.query(purchase.Purchase.hash_id).all() ] for hash_id in purchase_hashes: assert hash_id in res finally: with database.get_session() as session: session.query(purchase.Purchase).delete()
def test_get_purchase_history(monkeypatch, mocked_history): """Happy Path - History Pages Fetched""" monkeypatch.setattr(Session, "get", lambda a, b: mocked_history) assert len(api.get_purchase_history(Session(), 3)) == 3