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

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

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

НазваниеОписаниеРезультат
test_00_all_fields_debug_test

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

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

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

Тест поможет студентам ответить на вопрос "как надо заполнять поле с типом ХХХ в 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Ничего не проверяет, показывает, как скипать тестыНо если его расскипать, упадет (smile)
Расширенный поиск
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_fioTBD
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

Проверка исправления сортировки по строке  FOLKS-12 - Getting issue details... STATUS