def test_charging_and_crediting_before_adding_card(self):
        dir_path = os.path.dirname(os.path.realpath(__file__))

        input_file = open(dir_path + '/test_files/test3.txt', 'r')
        transactions = input_file.read()
        input_file.close()

        transactions = transactions.split('\n')

        process_transactions(transactions)

        self.assertEquals(get_user_balance('Lisa'), -100)
        self.assertEquals(get_user_balance('toM'), 600)
    def test_duplicate_user(self):
        dir_path = os.path.dirname(os.path.realpath(__file__))

        input_file = open(dir_path + '/test_files/test4.txt', 'r')
        transactions = input_file.read()
        input_file.close()

        transactions = transactions.split('\n')

        process_transactions(transactions)

        self.assertEquals(get_user_balance('Lisa'), -300)
        self.assertEquals(get_user_balance('toM'), 800)
    def test_invalid_card_charge(self):
        dir_path = os.path.dirname(os.path.realpath(__file__))

        input_file = open(dir_path + '/test_files/test5.txt', 'r')
        transactions = input_file.read()
        input_file.close()

        transactions = transactions.split('\n')

        process_transactions(transactions)

        self.assertEquals(get_user_balance('Lisa'), -100)
        self.assertEquals(get_user_balance('quincy'), None)
        self.assertEquals(get_user_balance('toM'), 501)
    def test_invalid_card_summary(self):
        dir_path = os.path.dirname(os.path.realpath(__file__))

        input_file = open(dir_path + '/test_files/test5.txt', 'r')
        transactions = input_file.read()
        input_file.close()

        transactions = transactions.split('\n')

        summary = process_transactions(transactions)

        expected = ['Lisa: $-100', 'Quincy: error', 'Tom: $501']

        self.assertEquals(summary, expected)
Esempio n. 5
0
transaction_list = [item[0] for item in cursor]
cursor.execute("call seen_news_releases()")
news_releases_list = [item[0] for item in cursor]
cursor.execute("call last_price_alerts()")
price_alert_symbol_map = {}
for item in cursor:
    # symbol to date_last_price_alert map
    price_alert_symbol_map[item[0]] = item[1]

embeds = []

for item in watchlist:
    is_high_transaction_traffic = item["isHighTransactionTraffic"]
    if not is_high_transaction_traffic:
        new_transactions = process_transactions(mydb, cursor, logger,
                                                item["symbol"],
                                                transaction_list)
        embeds += new_transactions
    new_news_releases = process_news_releases(mydb, cursor, logger,
                                              item["symbol"], item["sedarId"],
                                              news_releases_list)
    embeds += new_news_releases
    new_price_alerts = process_price_alerts(mydb, cursor, logger,
                                            item["symbol"],
                                            price_alert_symbol_map)
    embeds += new_price_alerts
    time.sleep(1)

cursor.close()

if embeds: