Пример #1
0
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"
Пример #2
0
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()])
Пример #3
0
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()
Пример #4
0
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()
Пример #5
0
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()
Пример #6
0
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