示例#1
0
    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'
示例#2
0
    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 '
示例#3
0
    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'
示例#4
0
    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'