Ejemplo n.º 1
0
    def test_revise_order_build_confirmation(self):
        from objects import Shift, Delivery, Order, Tip
        from processes.revise import Revise_Order
        from utility.utility import now

        # id
        order = Order(Delivery(Shift(now().date())))
        test = Revise_Order(order, test=True)
        test.user_selection = '1'
        test.build_confirmation()
        # tip
        order = Order(Delivery(Shift(now().date())))
        test = Revise_Order(order, test=True)
        test.user_selection = '2'
        test.build_confirmation()
        # distance
        order = Order(Delivery(Shift(now().date())))
        test = Revise_Order(order, test=True)
        test.user_selection = '3'
        test.build_confirmation()
        # end time
        order = Order(Delivery(Shift(now().date())))
        test = Revise_Order(order, test=True)
        test.user_selection = '4'
        test.build_confirmation()
        # save
        order = Order(Delivery(Shift(now().date())))
        test = Revise_Order(order, test=True)
        test.user_selection = 's'
        test.build_confirmation()
Ejemplo n.º 2
0
    def test_revise_delivery_build_confirmation(self):
        from processes.revise import Revise_Delivery
        from objects import Shift, Delivery, Order
        from utility.utility import now

        delivery = Delivery(Shift(now().date()))
        test = Revise_Delivery(delivery, test=True)
Ejemplo n.º 3
0
    def test_load_carry_out_tips(self):
        from objects import Shift
        from os import path, remove
        from processes.load import load_carry_out_tips
        from utility.utility import now

        shift = Shift(now().date())
        file_list = self.shift.file_list()

        # create file
        with open(file_list['tips'], 'w') as carry_out_tips_file:
            carry_out_tips_file.write(
                '3.11,0.0,0.0\n'\
                '0.0,2.71,0.0')

        # check file exists and baseline
        self.assertTrue(path.exists(file_list['tips']))
        self.assertTrue(len(shift.carry_out_tips) == 0)

        # run function
        shift = load_carry_out_tips(shift)

        # check data was loaded correctly
        self.assertTrue(len(shift.carry_out_tips) > 0)
        self.assertEqual(shift.carry_out_tips[0].total_amount(),
                         self.shift.carry_out_tips[0].total_amount())
        self.assertEqual(shift.carry_out_tips[1].total_amount(),
                         self.shift.carry_out_tips[1].total_amount())
        self.assertEqual(shift.carry_out_tips[0].csv(),
                         self.shift.carry_out_tips[0].csv())
        self.assertEqual(shift.carry_out_tips[1].csv(),
                         self.shift.carry_out_tips[1].csv())

        # delete files
        remove(file_list['tips'])
Ejemplo n.º 4
0
    def test_view_order_main(self):
        from datetime import datetime
        from objects import Shift, Delivery, Order, Tip
        from processes.view import view_order
        from utility.utility import now, To_Datetime

        # no data entered
        order = Order(Delivery(Shift(now().date())), 123)
        test = view_order(order)
        expected = 'Order I.D. #: 123\n'\
                   '\tTotal tip: $0.00\n'
        self.assertEqual(test, expected)
        # card
        order.tip = Tip(3.97)
        test = view_order(order)
        expected = 'Order I.D. #: 123\n'\
                   '\tCard tip: $3.97\n'
        self.assertEqual(test, expected)
        # cash
        order.tip = Tip(cash=3.97)
        test = view_order(order)
        expected = 'Order I.D. #: 123\n'\
                   '\tCash tip: $3.97\n'
        self.assertEqual(test, expected)
        # card and cash
        order.tip = Tip(3, 2)
        test = view_order(order)
        expected = 'Order I.D. #: 123\n'\
                   '\tTotal tip: $5.00\n'\
                   '\tCard tip: $3.00\n'\
                   '\tCash tip: $2.00\n'
        self.assertEqual(test, expected)
        # unknown
        order.tip = Tip(unknown=3.97)
        test = view_order(order)
        expected = 'Order I.D. #: 123\n'\
                   '\tUnknown tip: $3.97\n'
        self.assertEqual(test, expected)
        # distance
        order.miles_traveled = 3.9
        test = view_order(order)
        expected = 'Order I.D. #: 123\n'\
                   '\tUnknown tip: $3.97\n'\
                   '\tDistance to address: 3.9 miles\n'
        self.assertEqual(test, expected)
        # end time
        order.end_time = datetime.strptime('15:27:42', '%H:%M:%S')
        test = view_order(order)
        expected = 'Order I.D. #: 123\n'\
                   '\tUnknown tip: $3.97\n'\
                   '\tDistance to address: 3.9 miles\n'\
                   '\tCompleted at: 03:27:42 PM\n'
        self.assertEqual(test, expected)
Ejemplo n.º 5
0
    def test_load_shift_completed(self):
        from objects import Shift
        from os import path, remove
        from processes.load import load_shift
        from utility.utility import now

        shift = Shift(now().date())
        file_list = self.shift.file_list()

        # create file
        with open(file_list['info'], 'w') as shift_file:
            shift_file.write(self.shift.csv())

        # check file was created and baseline
        self.assertTrue(path.exists(file_list['info']))
        self.assertNotEqual(shift.miles_traveled, self.shift.miles_traveled)
        self.assertNotEqual(shift.fuel_economy, self.shift.fuel_economy)
        self.assertNotEqual(shift.vehicle_compensation,
                            self.shift.vehicle_compensation)
        self.assertNotEqual(shift.device_compensation,
                            self.shift.device_compensation)
        self.assertNotEqual(shift.extra_tips_claimed,
                            self.shift.extra_tips_claimed)
        self.assertNotEqual(shift.total_hours, self.shift.total_hours)
        self.assertNotEqual(shift.start_time, self.shift.start_time)
        self.assertNotEqual(shift.end_time, self.shift.end_time)

        # run function
        shift = load_shift(shift)

        # check that data was loaded correctly
        self.assertEqual(shift.miles_traveled, self.shift.miles_traveled)
        self.assertEqual(shift.fuel_economy, self.shift.fuel_economy)
        self.assertEqual(shift.vehicle_compensation,
                         self.shift.vehicle_compensation)
        self.assertEqual(shift.device_compensation,
                         self.shift.device_compensation)
        self.assertEqual(shift.extra_tips_claimed,
                         self.shift.extra_tips_claimed)
        self.assertEqual(shift.total_hours, self.shift.total_hours)
        self.assertEqual(shift.start_time, self.shift.start_time)
        self.assertEqual(shift.end_time, self.shift.end_time)

        # delete file
        remove(file_list['info'])
Ejemplo n.º 6
0
    def test_revise_order_build_prompt(self):
        from objects import Shift, Delivery, Order, Tip
        from processes.revise import Revise_Order
        from utility.utility import now

        order = Order(Delivery(Shift(now().date())))
        test = Revise_Order(order, test=True)
        test.build_prompt()
        expected =\
            '\n- Revise Order -\n'\
            '1. Add/edit I.D.\n'\
            '2. Add/edit tip\n'\
            '3. Add/edit miles traveled\n'\
            '4. Add/edit end time\n'\
            'V. View current order values\n'\
            'S. Save changes\n'\
            'B. Go back\n'
        self.assertEqual(test.prompt, expected)
Ejemplo n.º 7
0
    def overwrite_shift(self):
        from objects import Shift
        from os import mkdir
        from shutil import rmtree
        from utility.file import write
        from utility.utility import now

        self.shift = Shift(now().date())

        # delete directory that contains all files
        rmtree(self.shift.file_list()['directory'])
        # recreate the directory to store new files
        mkdir(self.shift.file_list()['directory'])
        # set and save start time
        self.shift.set_start_time()
        write(self.shift.start_time, self.shift.file_list()['start_time'])
        # remove id from completed ids file
        self.shift.remove_id_from_file()

        return self
Ejemplo n.º 8
0
    def resume_shift(self):
        from objects import Shift
        from os import remove
        from utility.file import write
        from utility.utility import now

        self.shift = Shift(now().date())

        # load completed shift data
        self.shift.load_completed()
        # get shift start time
        start_time = self.shift.start_time
        # delete shift info file
        remove(self.shift.file_list()['info'])
        # save start time
        write(start_time, self.shift.file_list()['start_time'])
        # remove id from completed ids file
        self.shift.remove_id_from_file()
        # load current shift data
        self.shift.load_current()

        return self
    def setUp(self):
        import objects
        from utility.utility import To_Datetime
        from utility.utility import now

        self.shift = objects.Shift(now().date())

        self.miles_traveled = 12.3
        self.fuel_economy = 21.2
        self.vehicle_compensation = 13.07
        self.device_compensation = .27
        self.extra_tips_claimed = 3.0
        self.total_hours = 9.7
        self.start_time = To_Datetime('2020-07-13 09:00:00.000').from_datetime()
        self.end_time = To_Datetime('2020-07-13 18:30:00.000').from_datetime()

        self.delivery_1 = objects.Delivery(self.shift, 0)
        self.delivery_2 = objects.Delivery(self.shift, 1)
        self.delivery_3 = objects.Delivery(self.shift, 2)

        self.order_1 = objects.Order(self.delivery_1, 5)
        self.order_2 = objects.Order(self.delivery_2, 10)
        self.order_3 = objects.Order(self.delivery_3, 16)
        self.order_4 = objects.Order(self.delivery_3, 22)
def completed_shift():
    import objects
    from utility.utility import To_Datetime
    from utility.utility import now

    # shift
    shift = objects.Shift(now().date())
    shift.miles_traveled = 12.3
    shift.fuel_economy = 21.2
    shift.vehicle_compensation = 13.07
    shift.device_compensation = .27
    shift.extra_tips_claimed = 3.0
    shift.total_hours = 9.7
    shift.start_time =\
        To_Datetime('2020-07-13 09:00:00.100').from_datetime()
    shift.end_time =\
        To_Datetime('2020-07-13 18:30:00.100').from_datetime()
    shift.carry_out_tips = [objects.Tip(card=3.11), objects.Tip(cash=2.71)]

    # delivery 1
    delivery_1 = objects.Delivery(shift, 0)
    delivery_1.start_time =\
        To_Datetime('2020-07-13 10:30:00.100').from_datetime()
    delivery_1.end_time =\
        To_Datetime('2020-07-13 10:55:00.100').from_datetime()
    delivery_1.miles_traveled = 3.7
    delivery_1.average_speed = 21
    # order
    order_1 = objects.Order(delivery_1, 7)
    order_1.end_time =\
        To_Datetime('2020-07-13 10:43:00.100').from_datetime()
    order_1.miles_traveled = 1.8
    order_1.tip = objects.Tip(cash=5)
    # add order to delivery
    delivery_1.order_ids.append(order_1.id)
    delivery_1.orders.append(order_1)
    # add delivery to shift
    shift.delivery_ids.append(delivery_1.id)
    shift.deliveries.append(delivery_1)

    # delivery 2
    delivery_2 = objects.Delivery(shift, 1)
    delivery_2.start_time =\
        To_Datetime('2020-07-13 11:20:00.100').from_datetime()
    delivery_2.end_time =\
        To_Datetime('2020-07-13 11:47:00.100').from_datetime()
    delivery_2.miles_traveled = .7
    delivery_2.average_speed = 14
    # order
    order_2 = objects.Order(delivery_2, 36)
    order_2.end_time =\
        To_Datetime('2020-07-13 11:31:00.100').from_datetime()
    order_2.miles_traveled = 3.1
    order_2.tip = objects.Tip()
    # add order to delivery
    delivery_2.order_ids.append(order_2.id)
    delivery_2.orders.append(order_2)
    # extra stop
    extra_stop_2 = objects.Extra_Stop(delivery_2, 1)
    extra_stop_2.location = 'mongolian grill'
    extra_stop_2.reason = 'trade food'
    extra_stop_2.miles_traveled = 4.1
    extra_stop_2.end_time =\
        To_Datetime('2020-08-25 13:27:57.100').from_datetime()
    delivery_2.extra_stop_ids.append(extra_stop_2.id)
    delivery_2.extra_stops.append(extra_stop_2)
    # add delivery to shift
    shift.delivery_ids.append(delivery_2.id)
    shift.deliveries.append(delivery_2)

    # delivery 3
    delivery_3 = objects.Delivery(shift, 2)
    delivery_3.start_time =\
        To_Datetime('2020-07-13 12:12:00.100').from_datetime()
    delivery_3.end_time =\
        To_Datetime('2020-07-13 12:41:00.100').from_datetime()
    delivery_3.miles_traveled = 6.7
    delivery_3.average_speed = 23
    # order 1
    order_3 = objects.Order(delivery_3, 47)
    order_3.end_time =\
        To_Datetime('2020-07-13 12:28:00.100').from_datetime()
    order_3.miles_traveled = 3.4
    order_3.tip = objects.Tip(card=2.78)
    # add order to delivery
    delivery_3.order_ids.append(order_3.id)
    delivery_3.orders.append(order_3)
    # order 2
    order_4 = objects.Order(delivery_3, 58)
    order_4.end_time =\
        To_Datetime('2020-07-13 12:28:00.100').from_datetime()
    order_4.miles_traveled = 3.4
    order_4.tip = objects.Tip(card=3.41, cash=3)
    # add order to delivery
    delivery_3.order_ids.append(order_4.id)
    delivery_3.orders.append(order_4)
    # add delivery to shift
    shift.delivery_ids.append(delivery_3.id)
    shift.deliveries.append(delivery_3)

    # extra stop 1
    extra_stop_1 = objects.Extra_Stop(shift, 0)
    extra_stop_1 = objects.Extra_Stop(shift)
    extra_stop_1.start_time =\
        To_Datetime('2020-08-25 10:05:33.100').from_datetime()
    extra_stop_1.location = 'bank'
    extra_stop_1.reason = 'change'
    extra_stop_1.miles_traveled = 3.6
    extra_stop_1.end_time =\
        To_Datetime('2020-08-25 10:15:33.100').from_datetime()
    # add extra stop to shift
    shift.extra_stop_ids.append(extra_stop_1.id)
    shift.extra_stops.append(extra_stop_1)

    # extra stop 2
    extra_stop_3 = objects.Extra_Stop(shift, 2)
    extra_stop_3 = objects.Extra_Stop(shift)
    extra_stop_3.start_time =\
        To_Datetime('2020-08-25 13:17:38.100').from_datetime()
    extra_stop_3.location = 'mongolian grill'
    extra_stop_3.reason = 'trade food'
    extra_stop_3.miles_traveled = 4.1
    extra_stop_3.end_time =\
        To_Datetime('2020-08-25 13:27:57.100').from_datetime()
    # add extra stop to shift
    shift.extra_stop_ids.append(extra_stop_3.id)
    shift.extra_stops.append(extra_stop_3)

    # split
    split = objects.Split(shift)
    split.start_time = To_Datetime('2020-08-25 14:03:57.100').from_datetime()
    split.miles_traveled = 3.1
    split.end_time = To_Datetime('2020-08-25 16:03:57.100').from_datetime()
    shift.split = split

    return shift
Ejemplo n.º 11
0
from menus import Shift_Tracking_Menu
from objects import Shift
from os import path, chdir
from resources.system_names import data_directory, shifts_directory
from utility.utility import now

# make directories to store user data
shifts_path = path.join(data_directory, shifts_directory)
if not path.exists(data_directory):
    from os import mkdir
    mkdir(data_directory)
if not path.exists(shifts_path):
    from os import mkdir
    mkdir(shifts_path)

shift = Shift(now().date())
# check for completed shift
if path.exists(shift.file_list()['info']):
    from menus import Completed_Shift
    menu = Completed_Shift(shift)
    shift = menu.shift
# check if shift has not started
elif not path.exists(shift.file_list()['directory']):
    shift.start()
# load shift
else:
    shift.load_current()

# daily shift tracking menu
Shift_Tracking_Menu(shift)
from objects import Shift
import os
from utility.file import Read
from utility.utility import now, To_Datetime

id_list = Read(Shift(now().date()).file_list()['completed_ids']).comma()
uncompleted_id_list = []

os.chdir(os.path.join('data', 'shifts'))
for directory in os.listdir():
    if directory not in id_list:
        uncompleted_id_list.append(directory)

print(f'Total uncompleted shifts: {len(uncompleted_id_list)}')
print('List of uncompleted dates:')
for directory in uncompleted_id_list:
    print(directory)
Ejemplo n.º 13
0
    def test_load_shift_current(self):
        from objects import Shift
        from os import path, remove
        from processes.load import load_shift
        from utility.utility import now

        shift = Shift(now().date())
        file_list = self.shift.file_list()

        # create files
        with open(file_list['start_time'], 'w') as start_time_file:
            start_time_file.write(str(self.shift.start_time))
        with open(file_list['end_time'], 'w') as end_time_file:
            end_time_file.write(str(self.shift.end_time))
        with open(file_list['miles_traveled'], 'w') as miles_traveled_file:
            miles_traveled_file.write(str(self.shift.miles_traveled))
        with open(file_list['fuel_economy'], 'w') as fuel_economy_file:
            fuel_economy_file.write(str(self.shift.fuel_economy))
        with open(file_list['vehicle_compensation'],
                  'w') as vehicle_compensation_file:
            vehicle_compensation_file.write(
                str(self.shift.vehicle_compensation))
        with open(file_list['device_compensation'],
                  'w') as device_compensation_file:
            device_compensation_file.write(str(self.shift.device_compensation))
        with open(file_list['total_hours'], 'w') as total_hours_file:
            total_hours_file.write(str(self.shift.total_hours))
        with open(file_list['extra_tips_claimed'],
                  'w') as extra_tips_claimed_file:
            extra_tips_claimed_file.write(str(self.shift.extra_tips_claimed))

        # check files were created and baseline
        self.assertTrue(path.exists(file_list['start_time']))
        self.assertTrue(path.exists(file_list['end_time']))
        self.assertTrue(path.exists(file_list['miles_traveled']))
        self.assertTrue(path.exists(file_list['fuel_economy']))
        self.assertTrue(path.exists(file_list['vehicle_compensation']))
        self.assertTrue(path.exists(file_list['device_compensation']))
        self.assertTrue(path.exists(file_list['total_hours']))
        self.assertTrue(path.exists(file_list['extra_tips_claimed']))
        self.assertNotEqual(shift.start_time, self.shift.start_time)
        self.assertNotEqual(shift.end_time, self.shift.end_time)
        self.assertNotEqual(shift.miles_traveled, self.shift.miles_traveled)
        self.assertNotEqual(shift.fuel_economy, self.shift.fuel_economy)
        self.assertNotEqual(shift.vehicle_compensation,
                            self.shift.vehicle_compensation)
        self.assertNotEqual(shift.device_compensation,
                            self.shift.device_compensation)
        self.assertNotEqual(shift.total_hours, self.shift.total_hours)
        self.assertNotEqual(shift.extra_tips_claimed,
                            self.shift.extra_tips_claimed)

        # run function
        shift = load_shift(shift, current=True)

        # check that data was loaded correctly
        self.assertEqual(shift.start_time, self.shift.start_time)
        self.assertEqual(shift.end_time, self.shift.end_time)
        self.assertEqual(shift.miles_traveled, self.shift.miles_traveled)
        self.assertEqual(shift.fuel_economy, self.shift.fuel_economy)
        self.assertEqual(shift.vehicle_compensation,
                         self.shift.vehicle_compensation)
        self.assertEqual(shift.device_compensation,
                         self.shift.device_compensation)
        self.assertEqual(shift.total_hours, self.shift.total_hours)
        self.assertEqual(shift.extra_tips_claimed,
                         self.shift.extra_tips_claimed)

        # delete files
        remove(file_list['start_time'])
        remove(file_list['end_time'])
        remove(file_list['miles_traveled'])
        remove(file_list['fuel_economy'])
        remove(file_list['vehicle_compensation'])
        remove(file_list['device_compensation'])
        remove(file_list['total_hours'])
        remove(file_list['extra_tips_claimed'])
 def setUp(self):
     from objects import Delivery, Shift
     from utility.utility import now
     self.shift = Shift(now().date())
     self.delivery = Delivery(self.shift)
Ejemplo n.º 15
0
 def set_end_time(self):
     from utility.utility import now
     self.end_time = now()
Ejemplo n.º 16
0
 def set_start_time(self):
     from utility.utility import now
     self.start_time = now()
Ejemplo n.º 17
0
    def test_revise_delivery_build_prompt(self):
        from datetime import datetime
        from processes.revise import Revise_Delivery
        from objects import Shift, Delivery, Order, Extra_Stop
        from utility.utility import now

        # no data added yet
        delivery = Delivery(Shift(now().date()))
        test = Revise_Delivery(delivery, test=True)
        test.build_prompt()
        expected =\
            '\n- Revise Delivery -\n'\
            'Please select an option:\n'\
            '1. Add start time\n'\
            '2. Add miles traveled\n'\
            '3. Add average speed\n'\
            '4. Add end time\n'\
            'O. Add order\n'\
            'V. View current delivery\n'\
            'S. Save changes\n'\
            'B. Go back\n'
        self.assertEqual(test.prompt, expected)
        # start time added
        test.delivery.start_time = datetime.strptime('15:27:42', '%H:%M:%S')
        test.build_prompt()
        expected =\
            '\n- Revise Delivery -\n'\
            'Please select an option:\n'\
            '1. Revise start time\n'\
            '2. Add miles traveled\n'\
            '3. Add average speed\n'\
            '4. Add end time\n'\
            'O. Add order\n'\
            'V. View current delivery\n'\
            'S. Save changes\n'\
            'B. Go back\n'
        self.assertEqual(test.prompt, expected)
        # miles traveled added
        test.delivery.miles_traveled = 4.7
        test.build_prompt()
        expected =\
            '\n- Revise Delivery -\n'\
            'Please select an option:\n'\
            '1. Revise start time\n'\
            '2. Revise miles traveled\n'\
            '3. Add average speed\n'\
            '4. Add end time\n'\
            'O. Add order\n'\
            'V. View current delivery\n'\
            'S. Save changes\n'\
            'B. Go back\n'
        self.assertEqual(test.prompt, expected)
        # average speed added
        test.delivery.average_speed = 17
        test.build_prompt()
        expected =\
            '\n- Revise Delivery -\n'\
            'Please select an option:\n'\
            '1. Revise start time\n'\
            '2. Revise miles traveled\n'\
            '3. Revise average speed\n'\
            '4. Add end time\n'\
            'O. Add order\n'\
            'V. View current delivery\n'\
            'S. Save changes\n'\
            'B. Go back\n'
        self.assertEqual(test.prompt, expected)
        # end time added
        test.delivery.end_time = datetime.strptime('15:37:42', '%H:%M:%S')
        test.build_prompt()
        expected =\
            '\n- Revise Delivery -\n'\
            'Please select an option:\n'\
            '1. Revise start time\n'\
            '2. Revise miles traveled\n'\
            '3. Revise average speed\n'\
            '4. Revise end time\n'\
            'O. Add order\n'\
            'V. View current delivery\n'\
            'S. Save changes\n'\
            'B. Go back\n'
        self.assertEqual(test.prompt, expected)
        # one order added
        test.delivery.order_id = [0]
        test.delivery.orders = [Order(delivery)]
        test.build_prompt()
        expected =\
            '\n- Revise Delivery -\n'\
            'Please select an option:\n'\
            '1. Revise start time\n'\
            '2. Revise miles traveled\n'\
            '3. Revise average speed\n'\
            '4. Revise end time\n'\
            'O. Revise order/Add order\n'\
            'V. View current delivery\n'\
            'S. Save changes\n'\
            'B. Go back\n'
        self.assertEqual(test.prompt, expected)
        # two orders added
        test.delivery.order_id = [0, 1]
        test.delivery.orders = [Order(delivery), Order(delivery, 1)]
        test.build_prompt()
        expected =\
            '\n- Revise Delivery -\n'\
            'Please select an option:\n'\
            '1. Revise start time\n'\
            '2. Revise miles traveled\n'\
            '3. Revise average speed\n'\
            '4. Revise end time\n'\
            'O. Select an order/Add order\n'\
            'V. View current delivery\n'\
            'S. Save changes\n'\
            'B. Go back\n'
        self.assertEqual(test.prompt, expected)
        # extra stop added
        test.delivery.extra_stop_id = [0]
        test.delivery.extra_stops = [Extra_Stop(delivery)]
        test.build_prompt()
        expected =\
            '\n- Revise Delivery -\n'\
            'Please select an option:\n'\
            '1. Revise start time\n'\
            '2. Revise miles traveled\n'\
            '3. Revise average speed\n'\
            '4. Revise end time\n'\
            'O. Select an order/Add order\n'\
            'E. Revise extra stop\n'\
            'V. View current delivery\n'\
            'S. Save changes\n'\
            'B. Go back\n'
        self.assertEqual(test.prompt, expected)
        # two extra stops added
        test.delivery.extra_stop_id = [0, 1]
        test.delivery.extra_stops =\
            [Extra_Stop(delivery), Extra_Stop(delivery, 1)]
        test.build_prompt()
        expected =\
            '\n- Revise Delivery -\n'\
            'Please select an option:\n'\
            '1. Revise start time\n'\
            '2. Revise miles traveled\n'\
            '3. Revise average speed\n'\
            '4. Revise end time\n'\
            'O. Select an order/Add order\n'\
            'E. Select an extra stop\n'\
            'V. View current delivery\n'\
            'S. Save changes\n'\
            'B. Go back\n'
        self.assertEqual(test.prompt, expected)