예제 #1
0
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'
예제 #2
0
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'
예제 #3
0
def test_view_customer_orders():
    # 4.7.3.1 Order Information
    orderManager = OrderManager()
    manager = AccountManager()
    account = Account('*****@*****.**')

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

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

    new_order = Order(account, staff_account)
    orderManager.add_order(new_order)

    all_orders = orderManager.view_all_orders(account)

    assert all_orders[0].customer == account, 'Orders found'
예제 #4
0
def test_send_receipt_to_guest():
    # 4.4.1 Guest User Receipt
    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.account_exist(
        account) == False, 'Account does not exist'

    assert emailUtils.send_receipt(
        '*****@*****.**', order_receipt) == True, 'Email has been sent'
예제 #5
0
def test_send_receipt_to_existing_account():
    # 4.4.2 Existing User Receipt
    manager = AccountManager()
    account = Account('*****@*****.**')

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

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

    assert emailUtils.account_exist(
        '*****@*****.**') == True, 'Account does exist'

    new_order = Order(account, staff_account)

    order_receipt = Receipt(new_order)

    assert emailUtils.send_receipt(
        '*****@*****.**', order_receipt) == True, 'Email has been sent'
예제 #6
0
def test_account_information_in_email_content():
    # 4.5.1 Email Information for Account
    manager = AccountManager()
    account = Account('*****@*****.**')

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

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

    assert emailUtils.account_exist(
        '*****@*****.**') == True, 'Account does exist'

    new_order = Order(account, staff_account)

    order_receipt = Receipt(new_order)
    order_receipt.content = 'Valid Email Content'

    assert emailUtils.validate_receipt_content(
        order_receipt.content) == True, 'Email Content is valid'
예제 #7
0
def test_save_receipt_record():
    # 4.6 Save Receipt Record
    receiptManager = ReceiptManager()
    manager = AccountManager()
    account = Account('*****@*****.**')

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

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

    assert emailUtils.account_exist(
        '*****@*****.**') == True, 'Account does exist'

    new_order = Order(account, staff_account)

    order_receipt = Receipt(new_order)
    receiptManager.add_receipt(order_receipt)

    assert receiptManager.get_receipt_information(order_receipt)
예제 #8
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'
예제 #9
0
def test_view_receipt_as_staff():
    # 4.9.1 Receipt View Access
    orderManager = OrderManager()
    manager = AccountManager()
    receiptManager = ReceiptManager()

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

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

    new_order = Order(account, staff_account)
    orderManager.add_order(new_order)

    order_receipt = Receipt(new_order)
    receiptManager.add_receipt(order_receipt)

    all_receipts = receiptManager.get_all_receipts(staff_account)

    assert all_receipts[0].received_by == staff_account, 'Receipt for Staff found'
예제 #10
0
def test_verify_account_password_with_missing_upper_case_is_invalid():
    # 4.1.1.3 Password validation
    manager = AccountManager()
    assert manager.verify_password(
        'password1') == False, 'Password should not be valid'
예제 #11
0
def test_verify_account_email_is_invalid():
    # 4.1.1.1 Email validation
    manager = AccountManager()
    assert manager.verify_email_address(
        'ton$gregexamplecom') == False, 'Email should not be valid'
예제 #12
0
def test_send_password_reset_email_is_unsuccessful():
    # 4.2.1.2 Password reset email
    manager = AccountManager()

    assert manager.send_password_reset_email(
        '*****@*****.**') == False, 'Password reset email should not be sent'
예제 #13
0
def test_account_creation_with_kitchen_manager_role_successful():
    # 4.9.1.1 Account Type
    manager = AccountManager()
  
    assert manager.admin_create_account('KitchenManager', '*****@*****.**', 'KitchenManager') == True, 'Expected kitchen staff manager to be created'
예제 #14
0
def test_kitchen_staff_account_creation_successful():
    # 4.9.1 Management Account Creation
    manager = AccountManager()
  
    assert manager.admin_create_account('KitchenStaff', '*****@*****.**', 'KitchenStaff') == False, 'Expected kitchen staff account to not be created'
예제 #15
0
def test_account_creation_with_customer_role_unsuccessful():
    # 4.9.1.1 Account Type
    manager = AccountManager()
  
    assert manager.admin_create_account('KitchenManager', '*****@*****.**', 'Customer') == False, 'Expected customer to not be created'
예제 #16
0
from account import Account
from accountmanager import AccountManager
from emailutils import EmailUtils
from order import Order
from ordermanager import OrderManager
from receipt import Receipt
from receiptmanager import ReceiptManager

accountManger = AccountManager()
emailUtils = EmailUtils()


def test_user_has_account():
    # 4.4 Existing and Guest User Receipt

    assert emailUtils.account_exist(
        '*****@*****.**') == False, 'Account does not exist'


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_send_receipt_to_guest():
예제 #17
0
def test_verify_account_password_with_missing_number_is_invalid():
    # 4.1.1.3 Password validation
    manager = AccountManager()
    assert manager.verify_password(
        'SupermanGuy') == False, 'Password should not be valid'
예제 #18
0
def test_verify_password_reset_email_does_not_exist():
    # 4.2.1.1 Email validation
    manager = AccountManager()
    assert manager.verify_email_does_not_exist_in_system(
        'ton$gregexamplecom') == False, 'Email should not exist in the system'
예제 #19
0
def test_verify_account_password_is_valid():
    # 4.1.1.3 Password validation
    manager = AccountManager()
    assert manager.verify_password(
        'Password1') == True, 'Password should be valid'
예제 #20
0
def test_verify_account_is_valid():
    # 4.1.1 Required account information
    manager = AccountManager()
    assert manager.verify_account('Greg', 'Gregton', '*****@*****.**',
                                  '46 Greg Ave', 'Password1') == True, 'Account information should be valid'
예제 #21
0
def test_verify_account_email_is_valid():
    # 4.1.1.1 Email validation
    manager = AccountManager()
    assert manager.verify_email_address(
        '*****@*****.**') == True, 'Email should be valid'