Тесты на поиск

Тесты на поиск

Если вас пугают слова «БД» и прочие, посмотрите видео о том, как можно описывать эти тесты, даже если ты — ручной тестировщик.

См также — пишем автотесты на поиск

Название

Описание

Результат

Название

Описание

Результат

test_00_all_fields_debug_test

В dbStart заполнены все-все-все поля. 

Перебираем их все в поиске по одному

Поиск работает по каждому полю. В идеале нужны отдельные тесты, но иначе вам будет скучно их писать самим 

Тест поможет студентам ответить на вопрос "как надо заполнять поле с типом ХХХ в dbStart"

Простой поиск

test_s_01_search_by_surname

  • строка поиска — Иванов

В БД контрагенты:

  1. surname = Иванов (совпадает с запросом)

  2. surname = Иван Иванов (фамилия из 2 слов, одно совпадает с запросом)

  3. company = ИП Иванов (фамилия другая)

  4. Сидоров, слова «Иванов» нет

Поиск вернул:

  • 1

  • 2

  • 3

Так как поиск простой, в компании тоже ищет. Среди двух слов (клиент 2) тоже найдет

test_s_02_search_by_date

  • строка поиска - 01.10.2011

В базе 1 человек с такой датой рождения, один с пустой

Поиск вернул только человека 1

test_s_03_search_by_name

  • строка поиска — Иван

В БД контрагенты с name:

  1. Иван

  2. Петр

Поиск вернул только человека 1

Проверяем, что поиск работает по полю «Имя»

test_s_04_search_by_device_model

  • строка поиска — Моделька

В БД контрагенты:

  1. модель девайса — Моделька

  2. нет девайсов

Поиск вернул только человека 1

Проверяем, что поиск работает по полю «Модель устройства»

test_s_05_search_nothing_found

  • строка поиска — Какая-то фигня

В БД контрагенты с name:

  1. Иван

  2. Петр

Поиск ничего не вернул (смотрим, как это выглядит в автотестах)

test_s_99_skipped_test

Ничего не проверяет, показывает, как скипать тесты

Но если его расскипать, упадет

Расширенный поиск

test_se_01_ext_search_by_surname

? Folk.name = Иванов

В БД:

  1. name = Иванов

  2. name = Иван Иванов

  3. company = ИП Иванов (фамилия другая)

  4. Сидоров, слова «Иванов» нет

Поиск вернул:

  • 1

По частичному совпадению он не ищет, по другим полям (компания) тоже

test_se_02_ext_search_OR_by_1_field

? Folk.name = Иванов OR Folk.name = Сидоров

В БД имена:

  1. Иванов

  2. Сидоров

  3. Петров

Поиск вернул:

  • 1

  • 2

Условие OR работает как ИЛИ

test_se_03_ext_search_by_fio

TBD

 

test_se_04_ext_search_by_speaker

? Folk.speaker = TRUE

В БД:

  1. speaker = FALSE

  2. speaker = TRUE

Поиск вернул только 2

Сортировка

 

 

test_so_01_sort_integer

Сортировка по id по убыванию. В базе id:

  • 1

  • 2

  • 10

  • 11

Порядок возвращенных клиентов:

  • 11

  • 10

  • 2

  • 1

test_so_02_sort_surname

Сортировка по фамилии по убыванию. В базе:

  1. Иванов

  2. Иван Иванов

  3. Сидоров

  4. Сидоров

Одинаковые фамилии идут по порядку, начиная с меньшего ИД. Порядок: 3, 4, 1, 2

Проверка исправления сортировки по строке https://testbase.atlassian.net/browse/FOLKS-12