У меня есть тест REST Assured, состоящий из двух частей, и я пытаюсь найти способ написать, что если первая часть не может найти то, что ищет, то вторая часть не запускается и тест не проходит.
Обзор теста -
- part1 выполняет поиск и ищет учетную запись со статусом «отправлено».Он извлекает идентификатор учетной записи.
- part2 выполняет публикацию для проверки этой учетной записи и использует извлеченный идентификатор учетной записи из part1
Я пытаюсь написать тест таким образом, если part1 не можетнайти любые учетные записи с представленным статусом, тест не будет запущен или не пройден.
Это то, что я имею до сих пор:
// THIS TEST CASE VERIFIES THAT YOU CAN VALIDATE A NEW ADD EXTERNAL ACCOUNT REQUEST - HAPPY PATH
@Test
public void testValidateExternalAccount() throws IOException
{
BigDecimal transactionAmountOne = new BigDecimal (9);
BigDecimal transactionAmountTwo = new BigDecimal (10);
//PART1: EXTRACTS THE ACCOUNTID FROM THE ACCOUNT WITH THE SUBMITTED STATUS
String accountid = given().
spec(requestSpec).
pathParam("CustId", VALID_CUST_ID).
contentType("application/json;charset=utf-8").log().all().get("/external-accounts/{CustId}").then().extract().
path("externalAccountsDetails.find{it.status== 'SUBMITTED'}.accountId");
System.out.println(accountid);
//PART2: POSTS THE VALIDATE API FOR THE SUBMITTED STATUS ACCOUNT FROM PART1
Response response = given().
contentType("application/json;charset=utf-8").
spec(requestSpec).
pathParam("accountid", accountid).
body(validateExternalAccount(transactionAmountOne, transactionAmountTwo)).
when().
post("/external-accounts/validation/{accountid}").
then().
assertThat().statusCode(200).
and().
extract().
response();
//for prefix to find in build logs
System.out.println("testValidateExternalAccount test prefix to find in console"+response.getBody().asString());
}
Любая помощь будет очень признательна!
Спасибо