def test_class_Transaction_errors(): with pytest.raises(TypeError): Transaction(from_amount="10 USD", to_amount=Amount(real_amount=8.66, currency="EUR"), date=datetime.strptime("10/07/18 16:30", "%d/%m/%y %H:%M")) with pytest.raises(TypeError): Transaction(from_amount=Amount(real_amount=10, currency="USD"), to_amount="8.66 EUR", date=datetime.strptime("10/07/18 16:30", "%d/%m/%y %H:%M")) with pytest.raises(TypeError): Transaction(from_amount=Amount(real_amount=10, currency="USD"), to_amount=Amount(real_amount=8.66, currency="EUR"), date="10/07/18 16:30")
def test_class_Transaction(): transaction = Transaction(from_amount=Amount(real_amount=10, currency="USD"), to_amount=Amount(real_amount=8.66, currency="EUR"), date=datetime.strptime("10/07/18 16:30", "%d/%m/%y %H:%M")) assert type(transaction) == Transaction assert str(transaction) == "(10/07/2018 16:30:00) 10.00 USD => 8.66 EUR" print() print(transaction)
def dict_transaction_to_Transaction(tr_dict): """ Converts a transaction dictionnary to a Transaction object """ if set(tr_dict) != set(_CSV_COLUMNS): raise TypeError("Columns expected : {}\n{} received".format( _CSV_COLUMNS, list(tr_dict))) str_date = "{} {}".format(tr_dict["date"], tr_dict["hour"]) tr = Transaction(from_amount=Amount(real_amount=float( tr_dict["from_amount"]), currency=tr_dict["from_currency"]), to_amount=Amount(real_amount=float(tr_dict["to_amount"]), currency=tr_dict["to_currency"]), date=datetime.strptime(str_date, "%d/%m/%Y %H:%M:%S")) return tr
def test_convert_Transaction_to_dict(): transaction = Transaction(from_amount=Amount(real_amount=10, currency="USD"), to_amount=Amount(real_amount=8.66, currency="EUR"), date=datetime.strptime("10/07/18 16:30", "%d/%m/%y %H:%M")) tr_dict = revolut_bot.convert_Transaction_to_dict(transaction) assert tr_dict == { 'date': '10/07/2018', 'from_amount': 10.0, 'from_currency': 'USD', 'hour': '16:30:00', 'to_amount': 8.66, 'to_currency': 'EUR' }