Exemple #1
0
def test_verify_existing_account_with_non_existing_account():
    # 4.1.1.2 Existing accounts
    email = '*****@*****.**'
    manager = AccountManager()

    assert manager.verify_email_does_not_exist_in_system(
        email) == True, 'Account does not exist within the system'
Exemple #2
0
def test_login_account_does_not_exist_fails():
    # 4.3.1 Account does not exist
    manager = AccountManager()

    with pytest.raises(AccountDoesNotExistException):
        assert manager.login(
            '*****@*****.**', 'wowza'), 'Expected login to fail due to a non-existing account'
def test_email_receipt_after_order_fails():
    # 4.5 Email Receipt after Order
    manager = AccountManager()
    account = Account('*****@*****.**')

    manager.add_account(account)

    assert emailUtils.send_receipt(
        account.email_address, {}) == False, 'No Receipt Found, Email has not been sent'
Exemple #4
0
def test_verify_password_reset_email_exists():
    # 4.2.1.1 Email validation
    manager = AccountManager()
    account = Account('*****@*****.**')

    manager.add_account(account)

    assert manager.verify_email_does_not_exist_in_system(
        account.email_address) == True, 'Email should exist in the system'
Exemple #5
0
def test_password_verification_link_contains_correct_link():
    # 4.1.3.1 Password verification link
    manager = AccountManager()
    account = Account('*****@*****.**')

    manager.add_account(account)
    email_details = manager.send_email_verification_email(account)

    assert email_details != None and email_details.contains_correct_link() == True, 'Email verification email should contain a correct link'
Exemple #6
0
def test_send_password_reset_email_is_successful():
    # 4.2.1.2 Password reset email
    manager = AccountManager()
    account = Account('*****@*****.**')

    manager.add_account(account)

    assert manager.send_password_reset_email(
        account.email_address) == True, 'Password reset email should be sent successfully'
Exemple #7
0
def test_verify_existing_account_with_existing_account():
    # 4.1.1.2 Existing accounts
    email = '*****@*****.**'
    manager = AccountManager()
    newAccount = Account(email)

    manager.add_account(newAccount)
    assert manager.verify_email_does_not_exist_in_system(
        email) == False, 'Account already exists within the system'
def test_get_customer_information():
    # 4.6.1 Customer Information
    manager = AccountManager()
    account = Account('*****@*****.**')

    manager.add_account(account)

    assert emailUtils.get_account(
        account) == True, 'Account information found'
def test_user_does_not_have_account():
    # 4.4 Existing and Guest User Receipt
    manager = AccountManager()
    account = Account('*****@*****.**')

    manager.add_account(account)

    assert emailUtils.account_exist(
        '*****@*****.**') == True, 'Account does exist'
def test_can_view_specific_account_data_success():
    # 4.7.1.1 Viewable Customer Information
    manager = AccountManager()
    account = Account('*****@*****.**')

    manager.add_account(account)

    assert accountManger.get_account(
        account) == True, 'Account information found'
Exemple #11
0
def test_customer_view_all_accounts_unsuccessful():
    # 4.8.1 Account view access
    manager = AccountManager()
    account = Account('*****@*****.**')

    manager.add_account(account)

    account_data = manager.view_all_accounts('Customer')
    assert len(account_data) == 0, 'Expected to successfully retrieve all account data'
Exemple #12
0
def test_kitchen_manager_view_all_accounts_success():
    # 4.8.1 Account view access
    manager = AccountManager()
    account = Account('*****@*****.**')

    manager.add_account(account)

    account_data = manager.view_all_accounts('KitchenManager')
    assert account_data[0].email_address == account.email_address, 'Expected to successfully retrieve all account data'
def test_email_is_found():
    # 4.5.1.2 Email is found
    manager = AccountManager()
    account = Account('*****@*****.**')

    manager.add_account(account)

    assert emailUtils.get_customer_information(
        '*****@*****.**') == True, 'Customer information found'
Exemple #14
0
def test_account_activation_link_is_valid():
    # 4.1.3.4 Account activation & 4.1.3.2 Link verification
    account = Account('*****@*****.**')
    manager = AccountManager()

    account.activation_code = 'Test123'
    manager.add_account(account)

    assert manager.unlock_account(
        account.activation_code) == True, 'Account should successfully be unlocked'
Exemple #15
0
def test_account_activation_link_is_not_valid():
    # 4.1.3.3 Account activation - Invalid link & 4.1.3.2 Link verification
    account = Account('*****@*****.**')
    manager = AccountManager()

    account.activation_code = 'Test34'
    manager.add_account(account)

    assert manager.unlock_account(
        'invalidCode') == False, 'Account should not be unlocked'
def test_invalid_payment_address():
    # 4.5.1.4 Payment Address Validation
    manager = AccountManager()
    account = Account('*****@*****.**')
    account.address = '10 invalid 10 drive'

    manager.add_account(account)

    assert emailUtils.validate_payment_address(
        account.address) == True, 'Payment Address is invalid'
def test_customer_can_view_account():
    # 4.7.1 Personal Account Information
    manager = AccountManager()
    account = Account('*****@*****.**')
    account.address = 'address'
    account.payment_method = 'visa'

    manager.add_account(account)

    assert accountManger.get_account(account) == True, 'Account found'
def test_invalid_shipping_address():
    # 4.5.1.3 Shipping Address Validation
    manager = AccountManager()
    account = Account('*****@*****.**')
    account.address = '10 not valid 10 drive'

    manager.add_account(account)

    assert emailUtils.validate_shipping_address(
        account.address) == False, 'Shipping Address is invalid'
def test_valid_shipping_address():
    # 4.5.1.3 Shipping Address Validation
    manager = AccountManager()
    account = Account('*****@*****.**')
    account.address = '10 valid drive'

    manager.add_account(account)

    assert emailUtils.validate_shipping_address(
        account.address) == True, 'Shipping Address is valid'
def test_payment_detail_saved_for_guest_account():
    # 4.6.2 Complete Sale Transaction Details for Guest Account
    manager = AccountManager()
    account = Account('*****@*****.**')
    account.address = 'address'
    account.payment_method = 'visa'

    manager.add_account(account)

    assert emailUtils.save_order(
        account) == True, 'Payment Information has been saved'
Exemple #21
0
def test_login_account_with_correct_information_success():
    # 4.3.5 Login success
    manager = AccountManager()
    account = Account('*****@*****.**')
    account.password = '******'
    account.is_locked = False

    manager.add_account(account)

    assert manager.login(account.email_address,
                         account.password) == True, 'Expected login to succeed'
def test_modify_account_information():
    # 4.7.2.1 Modifiable Information
    manager = AccountManager()
    account = Account('*****@*****.**')
    account.first_name = 'John'
    account.last_name = 'Doe'
    account.address = '10 Valid Drive'

    manager.add_account(account)

    assert manager.change_personal_information(
        account, 'Joe', 'Schmoe', '*****@*****.**', '10 Change Lane') == True, 'Account information successfully changed'
Exemple #23
0
def test_login_account_is_banned_fails():
    # 4.3.4 Account is banned
    manager = AccountManager()
    account = Account('*****@*****.**')
    account.password = '******'
    account.is_locked = False
    account.is_banned = True

    manager.add_account(account)

    with pytest.raises(AccountBannedException):
        assert manager.login(
            account.email_address, account.password), 'Expected login to fail due to banned account'
Exemple #24
0
def test_login_password_is_incorrect_fails():
    # 4.3.2 Password is incorrect
    manager = AccountManager()
    account = Account('*****@*****.**')
    account.password = '******'
    account.is_locked = False
    account.is_banned = False

    manager.add_account(account)

    with pytest.raises(AccountIncorrectPasswordException):
        assert manager.login(
            account.email_address, 'wrongPassword2'), 'Expected login to fail due to incorrect password'
Exemple #25
0
def test_account_ban_successful():
    # 4.8.2 Account banning
    manager = AccountManager()
    account = Account('*****@*****.**')

    manager.add_account(account)
    manager.ban_account(account, True)

    assert manager.is_account_banned(account) == True, 'Expected account to be banned'
Exemple #26
0
def test_view_all_accounts_successfully_contains_data():
    # 4.8.1.1 Viewable customer information
    manager = AccountManager()
    account = Account('*****@*****.**')
    account.first_name = 'Bob'
    account.last_name = 'Tan'
    account.home_address = '56 Robertson Road'
    account.is_banned = False
    account.is_locked = False

    manager.add_account(account)

    account_data = manager.view_all_accounts('KitchenManager')
    retrieved_account = account_data[0]

    assert retrieved_account.first_name == account.first_name, 'Expected first name to match'
    assert retrieved_account.last_name == account.last_name, 'Expected last name to match'
    assert retrieved_account.email_address == account.email_address, 'Expected email address to match'
    assert retrieved_account.home_address == account.home_address, 'Expected home address to match'
    assert retrieved_account.is_banned == account.is_banned, 'Expected banned status to match'
    assert retrieved_account.is_locked == account.is_locked, 'Expected locked status to match'
Exemple #27
0
def test_account_unban_successful():
    # 4.8.2 Account banning
    manager = AccountManager()
    account = Account('*****@*****.**')
    account.is_banned = True

    manager.add_account(account)
    manager.ban_account(account, False)

    assert manager.is_account_banned(account) == False, 'Expected account to be not banned'
Exemple #28
0
def test_reset_password_is_successful():
    # 4.2 Password Reset
    account = Account('*****@*****.**')
    account.password = '******'
    manager = AccountManager()

    manager.add_account(account)
    manager.change_password(account, 'newPassword454')

    assert manager.change_password(
        account, 'newPassword454') == True, 'Account password should be successfully changed'
def test_email_has_link_to_account_creation_page():
    # 4.4.1.1 Guest Account Creation
    manager = AccountManager()
    account = Account('*****@*****.**')

    staff_account = Account('*****@*****.**')

    manager.add_account(account)
    manager.add_account(staff_account)

    new_order = Order(account, staff_account)

    order_receipt = Receipt(new_order)

    assert emailUtils.validate_receipt_content(
        order_receipt) == True, 'Redirect Link Found'
def test_complete_sale_transaction_details_for_guest_account():
    # 4.6.3 Complete Sale Transaction Details for Guest Account
    manager = AccountManager()
    account = Account('*****@*****.**')
    account.address = 'address'
    account.payment_method = 'visa'

    staff_account = Account('*****@*****.**')

    manager.add_account(account)
    manager.add_account(staff_account)

    new_order = Order(account, staff_account)

    assert emailUtils.save_order(
        new_order) == True, 'Transaction Information has been saved'