Ejemplo n.º 1
0
    def test_localization_get_dishes_by_type_and_name(self):
        """Тест SQL запроса на получение определенного типа блюд, совпадающих с вхождением названия с локализацией"""
        with self.app.test_request_context():
            expected = tuple(self.dishes[1:3])
            result = search_dishes(TypesOfDish.SWEET_FOOD_AND_DRINKS, 'C')
            self.assertEqual(expected, result)

            expected = (self.dishes[2],)
            result = search_dishes(TypesOfDish.SWEET_FOOD_AND_DRINKS, 'Christmas')
            self.assertEqual(expected, result)

            expected = ()
            result = search_dishes(TypesOfDish.SWEET_FOOD_AND_DRINKS, 'к')
            self.assertEqual(expected, result)
Ejemplo n.º 2
0
    def test_localization_get_dishes_by_type(self):
        """Тест SQL запроса на получение определенного типа блюд с локализацией"""
        with self.app.test_request_context():
            result = search_dishes(TypesOfDish.SWEET_FOOD_AND_DRINKS, '')
            expected = tuple(self.dishes[1:3])
            self.assertEqual(expected, result)

            result = search_dishes(TypesOfDish.MEAT_DISHES, '')
            expected = (self.dishes[0],)
            self.assertEqual(expected, result)

            result = search_dishes(TypesOfDish.SAUCES_AND_MARINADES, '')
            expected = ()
            self.assertEqual(expected, result)
Ejemplo n.º 3
0
 def check_delete_query(self, dish_name):
     """Чек POST запроса на удаление блюда по его названию"""
     r = self.client.post('/delete', data={'dish_name': dish_name})
     result = search_dishes(TypesOfDish.SWEET_FOOD_AND_DRINKS, dish_name)
     self.assertEqual(r.get_data(as_text=True), '{}\n')
     self.assertEqual(result, ())
     self.assertEqual(r.status_code, 200)
Ejemplo n.º 4
0
 def test_localization_csrf_error(self):
     """Тест выдачи CSRF ошибки для локализации"""
     with self.app.test_request_context():
         dish_name = 'Christmas cupcake with tangerines'
         r = self.client.post('/delete', data={'dish_name': dish_name})
         result = search_dishes(TypesOfDish.SWEET_FOOD_AND_DRINKS, dish_name)
         expected = (self.dishes[2],)
         self.assertEqual(result, expected)
         self.assertTrue(r.headers.get('X-CSRFToken') is None)
         self.assertEqual(r.status_code, 400)
         self.assertTrue('<title>Csrf Error</title>' in r.get_data(as_text=True))
         self.assertTrue(
             "<h1>Sorry, on our page arise CSRF error. Sorry for inconvenience.</h1>" in r.get_data(as_text=True))
Ejemplo n.º 5
0
 def test_csrf_error(self):
     """Тестирование ошибки CSRF Error 400 (Bad Request)"""
     with self.app.test_request_context():
         dish_name = 'Кекс рождественский с мандаринами'
         r = self.client.post('/delete', data={'dish_name': dish_name})
         result = search_dishes(TypesOfDish.SWEET_FOOD_AND_DRINKS,
                                dish_name)
         expected = (self.dishes[2], )
         self.assertTrue(r.get_json() is None)
         self.assertEqual(result, expected)
         self.assertTrue(r.headers.get('X-CSRFToken') is None)
         self.assertEqual(r.status_code, 400)
         self.assertTrue('<title>Csrf Error</title>' in r.get_data(
             as_text=True))
         self.assertTrue(
             "<h1>К сожалению, на странице произошла CSRF-ошибка. Приносим извинения за доставленные неудобства</h1>"
             in r.get_data(as_text=True))
Ejemplo n.º 6
0
def show_dishes(type_of_dishes: str) -> str:
    """Функция показа странички для любых типов блюд"""
    current_app.logger.debug(f'Enter into {show_dishes.__name__} with params: type_of_dishes={type_of_dishes}')
    dish_search_form = DishSearchForm(request.args)
    query_title = request.args.get('dish_name', '')
    dishes_info = search_dishes(TypesOfDish[type_of_dishes.upper()], query_title)
    return minify(render_template('main/dish_page.html',
                                  current_user=current_user,
                                  units_of_measurement=UnitsOfMeasurement,
                                  selected_dish=TypesOfDish[type_of_dishes.upper()].value,
                                  type_of_dishes=type_of_dishes,
                                  dishes_info=dishes_info,
                                  dish_search_form=dish_search_form,
                                  PORTIONS_COUNT=PORTIONS_COUNT,
                                  DELETE_DISH=DELETE_DISH,
                                  DISH_IMAGE=DISH_IMAGE,
                                  DESCRIPTION=DESCRIPTION,
                                  PREPARATION_TIME=PREPARATION_TIME,
                                  COOKING_TIME=COOKING_TIME,
                                  LITERATURE_URL=LITERATURE_URL,
                                  IMPLEMENT=IMPLEMENT,
                                  STEP_OF_COOK=STEP_OF_COOK,
                                  INGREDIENTS=INGREDIENTS))
Ejemplo n.º 7
0
 def test_localization_delete_dish_by_name(self):
     """Тест SQL запроса на удаление блюда по его полному названию с локализацией"""
     with self.app.test_request_context():
         delete_dish('Christmas cupcake with tangerines')
         result = search_dishes(TypesOfDish.SWEET_FOOD_AND_DRINKS, 'Christmas cupcake with tangerines')
         self.assertEqual(result, ())