avito-tech / qa-trainee-task

Тестовое задание для стажёра-автоматизатора

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Задача для стажёра-автоматизатора

На вход поступает 2 файла:

  1. TestcaseStructure.json
  2. Values.json

TestcaseStructure.json

Cодержит в себе массив параметров. Каждый параметр может иметь поля:

  • id - Уникальный идентификатор;
  • title - Название параметра;
  • value - Выбранное значение, изначально пустая строка;
  • values - Массив возможных значений, если поля нет, считаем что значение заполняется вручную, а не выбором.

Значения имеют следующие поля:

  • id - Уникальный идентификатор;
  • title - Название значения, которое подставляется в value параметра;
  • params - массив вложенных в это значение параметров.

Values.json

Содержит массив объектов. Каждый объект имеет поля:

  • id - Идентификатор параметра;
  • value - Идентификатор значения этого параметра. либо строка, если у параметра нет массива значений.

Результат

В результате выполнения, программа должна сформировать файл StructureWithValues.json с заполненными value у параметров, на основе файла Values.json.

Пример корректного выполнения задачи StructureWithValues.json приложен к заданию.

Доп. информация

Если мы не можем найти параметр с id из файла Values.json, то считаем, что такого параметра нет и значение подставлять некуда.

Если у параметра с id из Values.json, в массиве values нет объекта с id равным value, то считаем, что такого значения нет и оставляем поле value пустым.

Если входные файлы являются неконсистентными, то программа должна сформировать файл error.json с сообщением о том, что входные файлы являются некорректными. Пример error.json приложен к заданию.

About

Тестовое задание для стажёра-автоматизатора