Imports suite test cases from CSV and JSON payloads.
Supported formats:
- JSON: array of objects with
input,expected, andassertionkeys - CSV: header row with
input,expected,assertionand optionalnotes
Summary
Functions
Parses CSV import payload and returns test case attributes plus row-level errors.
Parses JSON import payload and returns test case attributes plus row-level errors.
Types
@type import_row_error() :: %{ row: non_neg_integer(), message: String.t(), payload: term() }
@type import_summary() :: %{ created: non_neg_integer(), rejected: non_neg_integer(), test_cases: [map()] }
Functions
@spec parse_csv(binary()) :: {:ok, %{errors: [import_row_error()], summary: import_summary()}} | {:error, String.t()}
Parses CSV import payload and returns test case attributes plus row-level errors.
@spec parse_json(binary()) :: {:ok, %{errors: [import_row_error()], summary: import_summary()}} | {:error, String.t()}
Parses JSON import payload and returns test case attributes plus row-level errors.