def test_get_bet_should_raise_an_exception_when_entity_does_not_exist( mongodb: Database) -> None: # given repo = MongoDBBetRepository() # type: ignore # then with pytest.raises(BetNotFoundError): repo.get(ObjectId())
def test_can_get_bet(mongodb: Database) -> None: # given repo = MongoDBBetRepository() # type: ignore # when bet_id = ObjectId() mongodb["bet"].insert_one({ "_id": bet_id, "opponent_1": "test 1", "opponent_2": "test 2", "odds_1": Decimal128("4.12"), "odds_2": Decimal128("3.56"), "category": Category.ESPORT.value, "provider": Provider.EFORTUNA.value, "date": datetime.utcnow(), "url": "/test/bet/url", "updated_at": datetime.utcnow(), "created_at": datetime.utcnow(), }) # and bet = repo.get(bet_id) # then assert isinstance(bet, Bet) assert bet.id == bet_id assert bet.opponent_1 == "test 1" assert bet.opponent_2 == "test 2" assert bet.odds_1.compare(Decimal(4.12)) assert bet.odds_2.compare(Decimal(3.56)) assert bet.url == "/test/bet/url"
def test_can_save_bet(mongodb: Database, dummy_bet_id: ObjectId) -> None: # given repo = MongoDBBetRepository() # type: ignore # and bet = repo.get(dummy_bet_id) # and bet.odds_1 = Decimal(6.12) bet.url = "another/new/url" # when repo.save(bet) # then document = mongodb["bet"].find_one({"_id": bet.id}) assert str(document["odds_1"]) == str(round(bet.odds_1, 2)) assert document["url"] == "another/new/url"