Сделать интеграционное тестирование JSON

10 000 руб. за проект
01 июля 2022, 16:33 • 4 отклика • 108 просмотров
Сделать интеграционное тестирование JSON


Мы ищем эксперта, который знает codeception и webception и может создать серию интеграционных тестов. Пожалуйста, ознакомьтесь с прикрепленным файлом с заданием и описанием приложений, прикрепленных к этой задаче.

Мы ожидаем, что вы сделаете следующее:

Настройка:

- Создайте контейнер с установленными codeception и webception
- Используйте тест записи PHP и модуль S3 в коде для подключения хранилища.
- Подключиться к корзине S3 (будут предоставлены ключи API) и скачать файл payload.json (INPUT FILE)
- Отправьте файл payload.json в наш микросервис, который выполняет математические операции (PROCESSOR)
- Подключен к папке S3 (ключи API и подробная информация будут предоставлены), где хранятся результаты (OUTPUT FILES)

Анализ (с использованием OUTPUT FILES):

Comparisons for equality


INPUT: billings.json (Billings in Payload)


OUTPUT: contractPnL.json



Input field


Input Function


Output field


Output Function


invoiceTax


Sum


period. totalInvoiceValueIncTax - period. totalInvoiceValueExTax


Sum


invoiceExTax


Sum


period. totalInvoiceValueExTax


Sum


invoiceIncTax


Sum


period. totalInvoiceValueIncTax


Sum


status


Filter all with
status = VOID


n/a


n/a





INPUT: timesheets.json (Timesheets in Payload)


OUTPUT: contractPnL.json [period level]



Input field


Input Function


Output field


Output Function


sourceTimesheetInterval. SourceDurationMin


Sum


Period. timesheetDurationMin


Sum





INPUT: contractPnL.json [header level]


OUTPUT: contractPnL.json [period level]



Input field


Input Function


Output field


Output Function


totalInvoiceValueExTaxInvoiced


Sum


period. totalInvoiceValueExTax


Sum


contractRevenue


Sum


period.FPValue or period.RRValue or period.subscriptionValue (whichever exists)


Sum


adjustments


Sum


Subtract adjustments from value to get a final result


contractRevenueToDate


Sum





period.FPValue or period.RRValue or period.subscriptionValue (whichever exists)


Sum


Filter by date <= today








adjustments


Sum


Filter by date <= today








Subtract adjustments from value to get a final result


timesheetDurationMin


Sum


timesheetDurationMin


Sum


timesheetDurationMinToDate


Sum


timesheetDurationMin


Sum


Filter by date <= today


adjustmentsTotal


Sum


adjustments


Sum


adjustmentsTotalToDate


Sum


adjustments


Sum


Filter by date <= today


totalInvoiceValueExTaxToDate


Sum


totalInvoiceValueExTax


Sum


Filter by date <= today


totalInvoiceValueIncTaxToDate


Sum


totalInvoiceValueIncTax


Sum


Filter by date <= today





INPUT: contractPnL.json [header level]


OUTPUT: contractPnL.json [header level]



Math


Reason for the check


totalInvoiceValueExTaxToDate - contractRevenueToDate


should equal to billingsRevenueDifferenceToDate


Check A/D revenue iscorrect





Подавать результаты (webception)

- Подключить webception
- Отображение результатов в webception

Результат должен включать Dockerfile и простой Readme, как использовать приложение.

Н./Б.: Мы рассчитываем, что будем работать с кем-то, кто хорошо разбирается в PHP и может хорошо использовать язык для выполнения математических вычислений. Мы не будем использовать какой-либо другой язык.