示例#1
0
def test_admin_inspect_pair_messages(database, mock_message):
    User.create_admin(2, 2, database)
    character_hash_2 = User.create_user(3, 3, "Test user 2", database)
    character_hash_3 = User.create_user(4, 4, "Test user 3", database)
    character_hash_4 = User.create_user(5, 5, "Test user 4", database)

    client = BankingClientFactory(database).create_client(mock_message)

    results = client.admin_inspect_pair_history_messages(
        f"/admin_messages_history_pair {character_hash_2} {character_hash_3}")
    assert results == NO_MESSAGES_FOUND
    results = client.admin_inspect_pair_history_messages(
        f"/admin_messages_history_pair {character_hash_4} {character_hash_3}")
    assert results == NO_MESSAGES_FOUND

    Message.create_message(character_hash_2, character_hash_4, "100", database)
    Message.create_message(character_hash_2, character_hash_3, "100", database)
    Message.create_message(character_hash_2, "0000000000", "100", database)
    Message.create_message(character_hash_3, character_hash_4, "100", database)

    results = client.admin_inspect_pair_history_messages(
        f"/admin_messages_history_pair {character_hash_2} {character_hash_3}")
    assert results != NO_MESSAGES_FOUND
    results = client.admin_inspect_pair_history_messages(
        f"/admin_messages_history_pair {character_hash_4} {character_hash_3}")
    assert results != NO_MESSAGES_FOUND
示例#2
0
def test_list_messages_pair(database):
    user_hash_1 = User.create_user(2, 2, "Test user 1", database)
    user_hash_2 = User.create_user(3, 3, "Test user 2", database)
    assert len(Message.inspect_pair_history_messages(user_hash_1, user_hash_2, database)) == 0
    assert len(Message.inspect_pair_history_messages(user_hash_2, user_hash_1, database)) == 0
    Message.create_message(user_hash_1, user_hash_2, "HELLO", database)
    assert len(Message.inspect_pair_history_messages(user_hash_1, user_hash_2, database)) == len(Message.inspect_pair_history_messages(user_hash_2, user_hash_1, database))
示例#3
0
def test_create_transaction(database, mock_message):
    character_hash = User.create_user(2, 2, "Test user", database)
    character_hash_2 = User.create_user(3, 3, "Test user 2", database)
    client = BankingClientFactory(database).create_client(mock_message)
    double_amount = DEFAULT_FINANCES * 2
    half_amount = DEFAULT_FINANCES / 2
    user2 = client.get_user_by_user_hash(character_hash_2)
    user1 = client.get_user_by_user_hash(character_hash)
    assert user2.finances == DEFAULT_FINANCES
    assert user1.finances == DEFAULT_FINANCES
    with pytest.raises(TransactionError):
        client.create_transaction(f"/send {character_hash_2} {double_amount}")
    with pytest.raises(TransactionError):
        client.create_transaction(f"/send {character_hash} {half_amount}")
    with pytest.raises(TransactionError):
        client.create_transaction(f"/send {character_hash_2} notanumber")
    with pytest.raises(TransactionError):
        client.create_transaction(f"/send {character_hash_2} 0")
    with pytest.raises(UserError):
        client.create_transaction(f"/send 1234567890 {half_amount}")
    sender_chat_id, reciever_chat_id, message = client.create_transaction(
        f"/send {character_hash_2} {half_amount}")
    user2 = client.get_user_by_user_hash(character_hash_2)
    user1 = client.get_user_by_user_hash(character_hash)
    assert user2.finances == DEFAULT_FINANCES + half_amount
    assert user1.finances == DEFAULT_FINANCES - half_amount
    assert sender_chat_id == user1.chat_id
    assert reciever_chat_id == user2.chat_id
示例#4
0
def test_delete_contact(database, mock_message):
    character_hash = User.create_user(2, 2, "Test user", database)
    character_hash_2 = User.create_user(3, 3, "Test user 2", database)
    client = BankingClientFactory(database).create_client(mock_message)
    client.add_contact(f"/add_contact {character_hash_2} somebody")
    assert client.delete_contact(f"/delete_contact {character_hash_2}"
                                 ) == ADDRESS_RECORD_DELETION_MESSAGE
示例#5
0
def test_admin_inspect_messages(database, mock_message):
    User.create_admin(2, 2, database)
    character_hash_2 = User.create_user(3, 3, "Test user 2", database)
    character_hash_3 = User.create_user(4, 4, "Test user 3", database)

    client = BankingClientFactory(database).create_client(mock_message)

    results = client.admin_inspect_messages(
        f"/admin_messages_history_sent {character_hash_2}", True)
    assert results == NO_MESSAGES_FOUND
    results = client.admin_inspect_messages(
        f"/admin_messages_history_recieved {character_hash_2}", False)
    assert results == NO_MESSAGES_FOUND
    results = client.admin_inspect_messages(
        f"/admin_messages_history_recieved {character_hash_3}", False)
    assert results == NO_MESSAGES_FOUND

    Message.create_message(character_hash_2, character_hash_3, "100", database)
    Message.create_message(character_hash_2, "0000000000", "100", database)

    results = client.admin_inspect_messages(
        f"/admin_messages_history_sent {character_hash_2}", True)
    assert results != NO_MESSAGES_FOUND
    results = client.admin_inspect_messages(
        f"/admin_messages_history_recieved {character_hash_2}", False)
    assert results == NO_MESSAGES_FOUND
    results = client.admin_inspect_messages(
        f"/admin_messages_history_recieved {character_hash_3}", False)
    assert results != NO_MESSAGES_FOUND
示例#6
0
def test_admin_inspect_transactions(database, mock_message):
    User.create_admin(2, 2, database)
    character_hash_2 = User.create_user(3, 3, "Test user 2", database)
    character_hash_3 = User.create_user(4, 4, "Test user 3", database)

    client = BankingClientFactory(database).create_client(mock_message)

    results = client.admin_inspect_transactions(
        f"/admin_history_sent {character_hash_2}", True)
    assert results == NO_TRANSACTIONS_FOUND
    results = client.admin_inspect_transactions(
        f"/admin_history_recieved {character_hash_2}", False)
    assert results == NO_TRANSACTIONS_FOUND
    results = client.admin_inspect_transactions(
        f"/admin_history_recieved {character_hash_3}", False)
    assert results == NO_TRANSACTIONS_FOUND

    Transaction.create_transaction(character_hash_2, character_hash_3, 100,
                                   database)
    Transaction.create_transaction(character_hash_2, "0000000000", 100,
                                   database)

    results = client.admin_inspect_transactions(
        f"/admin_history_sent {character_hash_2}", True)
    assert results != NO_TRANSACTIONS_FOUND
    results = client.admin_inspect_transactions(
        f"/admin_history_recieved {character_hash_2}", False)
    assert results == NO_TRANSACTIONS_FOUND
    results = client.admin_inspect_transactions(
        f"/admin_history_recieved {character_hash_3}", False)
    assert results != NO_TRANSACTIONS_FOUND
示例#7
0
def test_list_transactions_sender(database):
    user_hash_1 = User.create_user(2, 2, "Test user 1", database)
    user_hash_2 = User.create_user(3, 3, "Test user 2", database)
    assert len(Transaction.list_transactions(user_hash_1, True, database)) == 0
    assert len(Transaction.list_transactions(user_hash_2, True, database)) == 0
    Transaction.create_transaction(user_hash_1, user_hash_2, 100, database)
    assert len(Transaction.list_transactions(user_hash_1, True, database)) == 1
    assert len(Transaction.list_transactions(user_hash_2, True, database)) == 0
示例#8
0
def test_delete_address_record(database):
    user_hash_1 = User.create_user(2, 2, "Test user 1", database)
    user_hash_2 = User.create_user(3, 3, "Test user 2", database)
    AddressRecord.create_address_record(user_hash_1, user_hash_2, "FIRST",
                                        database)
    assert len(AddressRecord.list_address_records(user_hash_1, database)) == 1
    AddressRecord.delete_address_record(user_hash_1, user_hash_2, database)
    assert len(AddressRecord.list_address_records(user_hash_1, database)) == 0
示例#9
0
def test_list_messages_sender(database):
    user_hash_1 = User.create_user(2, 2, "Test user 1", database)
    user_hash_2 = User.create_user(3, 3, "Test user 2", database)
    assert len(Message.inspect_messages(user_hash_1, True, database)) == 0
    assert len(Message.inspect_messages(user_hash_2, True, database)) == 0
    Message.create_message(user_hash_1, user_hash_2, "HELLO", database)
    assert len(Message.inspect_messages(user_hash_1, True, database)) == 1
    assert len(Message.inspect_messages(user_hash_2, True, database)) == 0
示例#10
0
def test_admin_hail_users(database, mock_message):
    User.create_admin(2, 2, database)
    character_hash = User.create_user(4, 4, "Test user", database)
    character_hash_2 = User.create_user(3, 3, "Test user 2", database)
    client = BankingClientFactory(database).create_client(mock_message)
    message_list = client.admin_hail_users("/hail_users TEST MESSAGE")
    assert len(message_list) == 2
    assert 2 not in [x.chat_id for x in message_list]
    assert message_list[0].message == "TEST MESSAGE"
示例#11
0
def test_create_hacked_transaction_other(database, mock_message):
    User.create_admin(1, 1, database)
    character_hash = User.create_user(2, 2, "Test user", database)
    User.update_db_value(character_hash, "hacker_level", 1, database)
    character_hash_2 = User.create_user(3, 3, "Test user 2", database)
    character_hash_4 = User.create_user(4, 4, "Test user 4", database)
    character_hash_5 = User.create_user(5, 5, "Test user 5", database)
    User.update_db_value(character_hash_4, "hacker_defence", 1, database)
    client = BankingClientFactory(database).create_client(mock_message)
    double_amount = DEFAULT_FINANCES * 2
    half_amount = DEFAULT_FINANCES / 2
    user2 = client.get_user_by_user_hash(character_hash_2)
    user1 = client.get_user_by_user_hash(character_hash)
    assert user2.finances == DEFAULT_FINANCES
    assert user1.finances == DEFAULT_FINANCES
    with pytest.raises(TransactionError):
        client.create_hacker_transaction_other(
            f"/h@ck_theft_other {character_hash_2} {character_hash_5} {double_amount}"
        )
    with pytest.raises(TransactionError):
        client.create_hacker_transaction_other(
            f"/h@ck_theft_other {character_hash} {character_hash_5} {half_amount}"
        )
    with pytest.raises(TransactionError):
        client.create_hacker_transaction_other(
            f"/h@ck_theft_other {character_hash_2} {character_hash_5} notanumber"
        )
    with pytest.raises(TransactionError):
        client.create_hacker_transaction_other(
            f"/h@ck_theft_other {character_hash_2} {character_hash_5} 0")
    with pytest.raises(UserError):
        client.create_hacker_transaction_other(
            f"/h@ck_theft_other 1234567890 {character_hash_5} {half_amount}")
    with pytest.raises(HackerError):
        client.create_hacker_transaction_other(
            f"/h@ck_theft_other 0000000000 {character_hash_5} {half_amount}")
    hacker_hash, victim_chat_id, profiteer_chat_id, transaction_message, show_hack = client.create_hacker_transaction_other(
        f"/h@ck_theft_other {character_hash_2} {character_hash_5} {half_amount}"
    )
    user2 = client.get_user_by_user_hash(character_hash_2)
    user5 = client.get_user_by_user_hash(character_hash_5)
    assert user2.finances == DEFAULT_FINANCES - half_amount
    assert user5.finances == DEFAULT_FINANCES + half_amount
    assert hacker_hash == client.user.character_hash
    assert victim_chat_id == user2.chat_id
    assert not show_hack

    hacker_hash, victim_chat_id, profiteer_chat_id, transaction_message, show_hack = client.create_hacker_transaction_other(
        f"/h@ck_theft_other {character_hash_4} {character_hash_5} {half_amount}"
    )
    user4 = client.get_user_by_user_hash(character_hash_4)
    user5 = client.get_user_by_user_hash(character_hash_5)
    assert hacker_hash == client.user.character_hash
    assert victim_chat_id == user4.chat_id
    assert user4.finances == DEFAULT_FINANCES - half_amount
    assert user5.finances == DEFAULT_FINANCES + half_amount + half_amount
    assert show_hack
示例#12
0
def test_inspect_all_transactions(database, mock_message):
    character_hash = User.create_user(2, 2, "Test user", database)
    character_hash_2 = User.create_user(3, 3, "Test user 2", database) 
    client = BankingClientFactory(database).create_client(mock_message)
    assert client.inspect_all_messages() == NO_MESSAGES_FOUND
    assert client.inspect_all_messages(character_hash_2) == NO_MESSAGES_FOUND
    reciever_chat_id, message = client.prepare_message(f"/message {character_hash_2} LaLaLaLa")
    client = BankingClientFactory(database).create_client(mock_message)
    assert client.inspect_all_messages() != NO_MESSAGES_FOUND
    assert client.inspect_all_messages(character_hash_2) != NO_MESSAGES_FOUND
示例#13
0
def test_add_contact(database, mock_message):
    character_hash = User.create_user(2, 2, "Test user", database)
    character_hash_2 = User.create_user(3, 3, "Test user 2", database)
    client = BankingClientFactory(database).create_client(mock_message)
    with pytest.raises(AddressRecordError):
        client.add_contact(f"/add_contact {character_hash} SELF")
    assert client.add_contact(
        f"/add_contact {character_hash_2} somebody") == ADDRESS_RECORD_ADDED
    with pytest.raises(AddressRecordError):
        client.add_contact(f"/add_contact {character_hash_2} somebody")
示例#14
0
def test_inspect_messages(database, mock_message):
    character_hash = User.create_user(2, 2, "Test user", database)
    character_hash_2 = User.create_user(3, 3, "Test user 2", database) 
    client = BankingClientFactory(database).create_client(mock_message)
    assert client.inspect_messages(True) == NO_MESSAGES_FOUND
    assert client.inspect_messages(False) == NO_MESSAGES_FOUND
    chat_id, message  = client.prepare_message(f"/message {character_hash_2} LaLaLaLa")
    client = BankingClientFactory(database).create_client(mock_message)
    assert client.inspect_messages(True) != NO_MESSAGES_FOUND
    assert client.inspect_messages(False) == NO_MESSAGES_FOUND
    assert client.inspect_messages(False, character_hash_2) != NO_MESSAGES_FOUND
示例#15
0
def test_inspect_contact_list(database, mock_message):
    character_hash = User.create_user(2, 2, "Test user", database)
    character_hash_2 = User.create_user(3, 3, "Test user 2", database)
    client = BankingClientFactory(database).create_client(mock_message)
    assert client.inspect_contact_list() == NO_ADDRESS_RECORDS
    assert client.inspect_contact_list(character_hash_2) == NO_ADDRESS_RECORDS
    client.add_contact(f"/add_contact {character_hash_2} somebody")
    client = BankingClientFactory(database).create_client(mock_message)
    client = BankingClientFactory(database).create_client(mock_message)
    assert client.inspect_contact_list() != NO_ADDRESS_RECORDS
    assert client.inspect_contact_list(character_hash_2) == NO_ADDRESS_RECORDS
示例#16
0
def test_inspect_all_transactions(database, mock_message):
    character_hash = User.create_user(2, 2, "Test user", database)
    character_hash_2 = User.create_user(3, 3, "Test user 2", database)
    client = BankingClientFactory(database).create_client(mock_message)
    assert client.inspect_all_transactions() == NO_TRANSACTIONS_FOUND
    assert client.inspect_all_transactions(
        character_hash_2) == NO_TRANSACTIONS_FOUND
    half_amount = DEFAULT_FINANCES / 2
    sender_chat_id, reciever_chat_id, message = client.create_transaction(
        f"/send {character_hash_2} {half_amount}")
    client = BankingClientFactory(database).create_client(mock_message)
    assert client.inspect_all_transactions() != NO_TRANSACTIONS_FOUND
    assert client.inspect_all_transactions(
        character_hash_2) != NO_TRANSACTIONS_FOUND
示例#17
0
def test_user_validation(database, mock_message):
    client = BankingClientFactory(database).create_client(mock_message)
    with pytest.raises(UserError):
        client.user_validation()
    character_hash = User.create_user(2, 2, "Test user", database)
    client = BankingClientFactory(database).create_client(mock_message)
    client.user_validation()
示例#18
0
def test_create_user(database):
    character_hash = User.create_user(2, 2, "Test user", database)
    user_data = User.get_user_by_user_hash(character_hash, database)
    assert user_data is not None
    assert user_data.finances == DEFAULT_FINANCES
    user_data = User.get_user_by_user_hash("0000000000", database)
    assert user_data is None
示例#19
0
def test_hack_inspect_transactions(database, mock_message):
    User.create_admin(1, 1, database)
    character_hash_1 = User.create_user(2, 2, "Test user", database)
    User.update_db_value(character_hash_1, "hacker_level", 1, database)
    character_hash_2 = User.create_user(3, 3, "Test user 2", database)
    character_hash_3 = User.create_user(4, 4, "Test user 3", database)
    character_hash_4 = User.create_user(5, 5, "Test user 4", database)
    User.update_db_value(character_hash_3, "hacker_defence", 1, database)

    client = BankingClientFactory(database).create_client(mock_message)

    results, chat_id, show_hack = client.hack_inspect_transactions(
        f"/hack_history_sent {character_hash_2}", True)
    assert results == NO_TRANSACTIONS_FOUND
    assert not show_hack
    results, chat_id, show_hack = client.hack_inspect_transactions(
        f"/hack_history_recieved {character_hash_2}", False)
    assert results == NO_TRANSACTIONS_FOUND
    assert not show_hack
    results, chat_id, show_hack = client.hack_inspect_transactions(
        f"/hack_history_recieved {character_hash_3}", False)
    assert results == NO_TRANSACTIONS_FOUND
    assert show_hack

    Transaction.create_transaction(character_hash_2, character_hash_4, 100,
                                   database)
    Transaction.create_transaction(character_hash_2, character_hash_3, 100,
                                   database)
    Transaction.create_transaction(character_hash_2, "0000000000", 100,
                                   database)

    results, chat_id, show_hack = client.hack_inspect_transactions(
        f"/hack_history_sent {character_hash_2}", True)
    assert results != NO_TRANSACTIONS_FOUND
    assert not show_hack
    results, chat_id, show_hack = client.hack_inspect_transactions(
        f"/hack_history_recieved {character_hash_2}", False)
    assert results == NO_TRANSACTIONS_FOUND
    assert not show_hack
    results, chat_id, show_hack = client.hack_inspect_transactions(
        f"/hack_history_recieved {character_hash_3}", False)
    assert results != NO_TRANSACTIONS_FOUND
    assert show_hack

    with pytest.raises(HackerError):
        client.hack_inspect_transactions(f"/hack_history_recieved 0000000000",
                                         False)
示例#20
0
def test_delete_user(database, mock_message):
    User.create_admin(2, 2, database)
    character_hash = User.create_user(3, 3, "Test user", database)
    client = BankingClientFactory(database).create_client(mock_message)
    assert client.get_user_by_user_hash(character_hash) is not None
    client.delete_user(f"/delete {character_hash}")
    with pytest.raises(UserError):
        client.get_user_by_user_hash(character_hash)
示例#21
0
def test_create_admin(database, mock_message):
    character_hash = User.create_user(2, 2, "Test user", database)
    client = BankingClientFactory(database).create_client(mock_message)
    with pytest.raises(UserError):
        client.create_admin()
    mock_message.json['from']['id'] = 1
    client = BankingClientFactory(database).create_client(mock_message)
    client.create_admin()
示例#22
0
def test_inspect_all_users(database):
    data = User.inspect_all_users(database)
    assert len(data) == 0
    User.create_admin(1, 1, database)
    data = User.inspect_all_users(database)
    assert len(data) == 1
    character_hash = User.create_user(2, 2, "Test user", database)
    data = User.inspect_all_users(database)
    assert len(data) == 2
示例#23
0
def test_update_db_value(database):
    character_hash = User.create_user(2, 2, "Test user", database)
    user_data = User.get_user_by_user_hash(character_hash, database)
    assert user_data is not None
    assert user_data.finances == DEFAULT_FINANCES
    User.update_db_value(character_hash, "finances", DEFAULT_FINANCES + 1,
                         database)
    user_data = User.get_user_by_user_hash(character_hash, database)
    assert user_data is not None
    assert user_data.finances == DEFAULT_FINANCES + 1
示例#24
0
def test_admin_inspect_user(database, mock_message):
    User.create_admin(2, 2, database)
    client = BankingClientFactory(database).create_client(mock_message)
    character_hash_2 = User.create_user(3, 3, "Test user 2", database)
    user2 = client.get_user_by_user_hash(character_hash_2)
    with pytest.raises(UserError):
        client.admin_inspect_user("/admin_inspect_user 1234567890")
    resulting_data = client.admin_inspect_user(
        f'/admin_inspect_user {character_hash_2}')
    assert resulting_data == str(user2)
示例#25
0
def test_inspect_user(database, mock_message):
    User.create_admin(2, 2, database)
    character_hash = User.create_user(3, 3, "Test user", database)
    client = BankingClientFactory(database).create_client(mock_message)
    user = client.get_user_by_user_hash("0000000000")
    user2 = client.get_user_by_user_hash(character_hash)
    assert client.inspect_user() == str(user)
    assert client.inspect_user(character_hash) == str(user2)
    with pytest.raises(UserError):
        client.inspect_user("1234567890")
示例#26
0
def test_hacker_validation(database, mock_message):
    character_hash = User.create_user(2, 2, "Test user", database)
    client = BankingClientFactory(database).create_client(mock_message)
    with pytest.raises(HackerError):
        client.hacker_validation(0)
    User.update_db_value(character_hash, "hacker_level", 1, database)
    client = BankingClientFactory(database).create_client(mock_message)
    with pytest.raises(HackerError):
        client.hacker_validation(2)
    client.hacker_validation(0)
示例#27
0
def test_hack_inspect_pair_messages(database, mock_message):
    User.create_admin(1, 1, database)
    character_hash_1 = User.create_user(2, 2, "Test user", database)
    User.update_db_value(character_hash_1, "hacker_level", 1, database)
    character_hash_2 = User.create_user(3, 3, "Test user 2", database)
    character_hash_3 = User.create_user(4, 4, "Test user 3", database)
    character_hash_4 = User.create_user(5, 5, "Test user 4", database)
    User.update_db_value(character_hash_3, "hacker_defence", 1, database)
    User.update_db_value(character_hash_4, "hacker_defence", 2, database)

    client = BankingClientFactory(database).create_client(mock_message)

    results, chat_id, hash_1, chat_2_id, hash_2, show_hack = client.hack_inspect_pair_history_messages(
        f"/hack_messages_history_pair {character_hash_2} {character_hash_3}")
    assert results == NO_MESSAGES_FOUND
    assert not show_hack
    results, chat_id, hash_1, chat_2_id, hash_2, show_hack = client.hack_inspect_pair_history_messages(
        f"/hack_messages_history_pair {character_hash_4} {character_hash_3}")
    assert results == NO_MESSAGES_FOUND
    assert show_hack
    with pytest.raises(HackerError):
        client.hack_inspect_pair_history_messages(
            f"/hack_messages_history_pair {character_hash_4} 0000000000")

    Message.create_message(character_hash_2, character_hash_4, "100", database)
    Message.create_message(character_hash_2, character_hash_3, "100", database)
    Message.create_message(character_hash_2, "0000000000", "100", database)
    Message.create_message(character_hash_3, character_hash_4, "100", database)

    results, chat_id, hash_1, chat_2_id, hash_2, show_hack = client.hack_inspect_pair_history_messages(
        f"/hack_messages_history_pair {character_hash_2} {character_hash_3}")
    assert results != NO_MESSAGES_FOUND
    assert not show_hack
    results, chat_id, hash_1, chat_2_id, hash_2, show_hack = client.hack_inspect_pair_history_messages(
        f"/hack_messages_history_pair {character_hash_2} 0000000000")
    assert results != NO_MESSAGES_FOUND
    assert not show_hack
    results, chat_id, hash_1, chat_2_id, hash_2, show_hack = client.hack_inspect_pair_history_messages(
        f"/hack_messages_history_pair {character_hash_4} {character_hash_3}")
    assert results != NO_MESSAGES_FOUND
    assert show_hack
示例#28
0
def test_set_attribute(database, mock_message):
    User.create_admin(2, 2, database)
    character_hash = User.create_user(3, 3, "Test user", database)
    client = BankingClientFactory(database).create_client(mock_message)
    user = client.get_user_by_user_hash(character_hash)
    assert user.finances == DEFAULT_FINANCES
    with pytest.raises(UserError):
        client.set_attribute("/set_attribute 1234567890 finances 0")
    assert client.set_attribute(f"/set_attribute {character_hash} finances 0"
                                ) == ATTRIBUTE_UPDATE_MESSAGE
    user = client.get_user_by_user_hash(character_hash)
    assert user.finances == 0
示例#29
0
def test_prepare_message(database, mock_message):
    User.create_admin(1, 1, database)
    character_hash = User.create_user(2, 2, "Test user", database)   
    client = BankingClientFactory(database).create_client(mock_message)
    admin = client.get_user_by_user_hash("0000000000")
    with pytest.raises(UserError):
        client.prepare_message("/message 1234567890 LaLaLaLa")
    with pytest.raises(MessageError):
        client.prepare_message(f"/message {client.user.character_hash} LaLaLaLa")
    chat_id, message = client.prepare_message("/message 0000000000 LaLaLaLa")
    assert message == "LaLaLaLa"
    assert chat_id == admin.chat_id
示例#30
0
def test_get_admin_list(database):
    admin_list = User.get_admin_list(database)
    assert len(admin_list) == 0
    User.create_admin(1, 1, database)
    admin_list = User.get_admin_list(database)
    assert len(admin_list) == 1
    character_hash = User.create_user(2, 2, "Test user", database)
    admin_list = User.get_admin_list(database)
    assert len(admin_list) == 1
    user_data = User.get_user_by_user_hash(character_hash, database)
    User.update_db_value(character_hash, "is_admin", 1, database)
    admin_list = User.get_admin_list(database)
    assert len(admin_list) == 2