def test_update_order_ok_response(self, mock_order_repo_update, mock_order_controller_datetime, mock_order_repo_get, mock_meal_item_repo_get, mock_request_params): '''Test update_order OK response. ''' # Arrange with self.app.app_context(): mock_order_controller_datetime.now = Mock( return_value=datetime(2019, 2, 12, 12, 45, 0)) mock_order_controller_datetime.strptime = Mock( return_value=datetime(2019, 2, 13, 0, 0, 0)) mock_date_booked = Mock() mock_request_params.return_value = (mock_date_booked, 'web', [ self.mock_meal_item, ], '1') mock_meal_item_repo_get.return_value = [ self.mock_meal_item, ] mock_order_repo_get.return_value = self.mock_order mock_order_repo_update.return_value = self.mock_order order_controller = OrderController(self.request_context) # Act result = order_controller.update_order(1) # Assert assert result.status_code == 200 assert result.get_json()['msg'] == 'OK'
def test_update_order_when_updated_booking_is_late(self, mock_datetime, mock_order_repo_get, mock_meal_item_repo_get, mock_request_params): '''Test update_order when the updated booking is late. ''' # Arrange with self.app.app_context(): mock_datetime.now = Mock( return_value=datetime(2019, 2, 12, 15, 45, 0)) mock_datetime.strptime = Mock( return_value=datetime(2019, 2, 12, 15, 45, 0)) mock_request_params.return_value = ('2019-02-12', 'web', [], None) mock_meal_item_repo_get.return_value = [ self.mock_meal_item, ] mock_order_repo_get.return_value = self.mock_order order_controller = OrderController(self.request_context) # Act result = order_controller.update_order(1) # Assert assert result.status_code == 400 assert result.get_json()['msg'] == 'It is too late to book meal ' \ 'for the selected date '
def test_update_order_when_order_has_been_deleted(self, mock_order_repo_get, mock_meal_item_repo_get, mock_request_params): '''Test update_order when the order has been deleted. ''' # Arrange with self.app.app_context(): mock_request_params.return_value = ('2019-02-12', 'web', [], None) mock_meal_item_repo_get.return_value = Mock() mock_order_repo_get.return_value.is_deleted = True order_controller = OrderController(self.request_context) # Act result = order_controller.update_order(1) # Assert assert result.status_code == 400 assert result.get_json()['msg'] == 'Order has already been deleted'
def test_update_order_when_order_doesnot_exist(self, mock_order_repo_get, mock_meal_item_repo_get, mock_request_params): '''Test update_order when the order doesnot exists. ''' # Arrange with self.app.app_context(): mock_request_params.return_value = ('2019-02-12', 'web', [], None) mock_meal_item_repo_get.return_value = Mock() mock_order_repo_get.return_value = None order_controller = OrderController(self.request_context) # Act result = order_controller.update_order(1) # Assert assert result.status_code == 400 assert result.get_json()['msg'] == 'Invalid or incorrect order_id ' \ 'provided'