feature/use-case-acceptance-tests-2 #117

Merged
hsh-michaelhoennig merged 38 commits from feature/use-case-acceptance-tests-2 into master 2024-11-05 13:58:39 +01:00
3 changed files with 29 additions and 5 deletions
Showing only changes of commit db9da74fb9 - Show all commits

View File

@ -134,9 +134,11 @@ class HsOfficeScenarioTests extends ScenarioTest {
@Test @Test
@Order(1100) @Order(1100)
@Requires("Partner: Michelle Matthieu")
void shouldAmendContactData() { void shouldAmendContactData() {
new AmendContactData(this) new AmendContactData(this)
.given("partnerNumber", 31020) .given("partnerName", "Matthieu")
.given("newEmailAddress", "michelle@matthieu.example.org")
.doRun(); .doRun();
} }

View File

@ -2,8 +2,10 @@ package net.hostsharing.hsadminng.hs.office.scenarios.contact;
import net.hostsharing.hsadminng.hs.office.scenarios.ScenarioTest; import net.hostsharing.hsadminng.hs.office.scenarios.ScenarioTest;
import net.hostsharing.hsadminng.hs.office.scenarios.UseCase; import net.hostsharing.hsadminng.hs.office.scenarios.UseCase;
import org.springframework.http.HttpStatus;
import static org.assertj.core.api.Assumptions.assumeThat; import static io.restassured.http.ContentType.JSON;
import static org.springframework.http.HttpStatus.OK;
public class AmendContactData extends UseCase<AmendContactData> { public class AmendContactData extends UseCase<AmendContactData> {
@ -13,7 +15,28 @@ public class AmendContactData extends UseCase<AmendContactData> {
@Override @Override
protected HttpResponse run() { protected HttpResponse run() {
assumeThat(false).isTrue(); // makes the test gray
obtain("partnerPersonUuid", () ->
httpGet("/api/hs/office/relations?relationType=PARTNER&personData=" + uriEncoded("%{partnerName}"))
.expecting(OK).expecting(JSON),
response -> response.expectArrayElements(1).getFromBody("[0].contact.uuid"),
"In production data this query could result in multiple outputs. In that case, you have to find out which is the right one."
);
httpPatch("/api/hs/office/contacts/%{partnerPersonUuid}", usingJsonBody("""
{
"caption": ${contactCaption???},
"postalAddress": ${postalAddress???},
"phoneNumbers": {
"office": ${officePhoneNumber???}
},
"emailAddresses": {
"main": ${newEmailAddress???}
}
}
"""))
.expecting(HttpStatus.OK);
return null; return null;
} }
} }

View File

@ -19,8 +19,7 @@ public class CreateSelfDebitorForPartner extends UseCase<CreateSelfDebitorForPar
httpGet("/api/hs/office/relations?relationType=PARTNER&personData=" + uriEncoded("%{partnerPersonTradeName}")) httpGet("/api/hs/office/relations?relationType=PARTNER&personData=" + uriEncoded("%{partnerPersonTradeName}"))
.expecting(OK).expecting(JSON), .expecting(OK).expecting(JSON),
response -> response.expectArrayElements(1).getFromBody("[0].holder.uuid"), response -> response.expectArrayElements(1).getFromBody("[0].holder.uuid"),
"In production data this query could result in multiple outputs. In that case, you have to find out which is the right one.", "In production data this query could result in multiple outputs. In that case, you have to find out which is the right one."
"**HINT**: With production data, you might get multiple results and have to decide which is the right one."
); );
obtain("BankAccount: Test AG - refund bank account", () -> obtain("BankAccount: Test AG - refund bank account", () ->