Skip to content

Commit

Permalink
Added full excusal test
Browse files Browse the repository at this point in the history
  • Loading branch information
Ben-Edwards-cgi committed Dec 15, 2023
1 parent 68505cd commit bc5ca0a
Show file tree
Hide file tree
Showing 3 changed files with 122 additions and 85 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,19 @@ public static ChainBuilder postUpdateRecordDeferral() {
}

public static ChainBuilder postUpdateRecordExcusal() {
return exitHere();//TODO
return group(Util.getNewScenarioId() + GROUP_NAME + " - POST - excusal")
.on(
exec(
http("POST - Juror Record - Update Record - excusal")
.post(JurorRecordUpdateScenario.BASE_URL)
.headers(Util.COMMON_HEADERS)
.formParam("jurorRecordUpdate", "excusal")
.formParam("jurorDeceased", "")
.formParam("_csrf", "#{csrf}")
.check(Util.validatePageIdentifier("process - what to do"))
.check(Util.validateHeading("Grant or refuse an excusal"))
)
);
}

public static class Deferral {
Expand Down Expand Up @@ -104,15 +116,43 @@ public static class Excusal {
public static ChainBuilder postExcusalGrant() {
return postExcusalGrant(Util.getNewScenarioId());
}
public static ChainBuilder postExcusalGrant(String newScenarioId) {
return exitHere();//TODO
public static ChainBuilder postExcusalGrant(String scenarioId) {
return group(scenarioId + GROUP_NAME + " - POST - deferral - GRANT")
.on(
feed(Feeders.EXCUSAL_CODE_FEEDER)
.exec(
http("POST - Juror Record - Update Record - Excusal - GRANT")
.post(JurorRecordUpdateScenario.BASE_URL + "/excusal")
.headers(Util.COMMON_HEADERS)
.formParam("excusalCode", "#{exc_code}")
.formParam("excusalDecision", "GRANT")
.formParam("_csrf", "#{csrf}")
.check(bodyString())
.check(Util.validatePageIdentifier("juror record - overview"))
.check(substring("Excusal granted"))
)
);
}

public static ChainBuilder postExcusalRefuse() {
return postExcusalRefuse(Util.getNewScenarioId());
}
public static ChainBuilder postExcusalRefuse(String newScenarioId) {
return exitHere();//TODO
public static ChainBuilder postExcusalRefuse(String scenarioId) {
return group(scenarioId + GROUP_NAME + " - POST - deferral - REFUSE")
.on(
feed(Feeders.EXCUSAL_CODE_FEEDER)
.exec(
http("POST - Juror Record - Update Record - Excusal - REFUSE")
.post(JurorRecordUpdateScenario.BASE_URL + "/excusal")
.headers(Util.COMMON_HEADERS)
.formParam("excusalCode", "#{exc_code}")
.formParam("excusalDecision", "REFUSE")
.formParam("_csrf", "#{csrf}")
.check(bodyString())
.check(Util.validatePageIdentifier("juror record - overview"))
.check(substring("Excusal refused"))
)
);
}
}
}
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
package uk.gov.hmcts.juror.performance.simulation.summonsreply;

import io.gatling.javaapi.core.ChainBuilder;
import io.gatling.javaapi.core.Choice;
import io.gatling.javaapi.core.ScenarioBuilder;
import uk.gov.hmcts.juror.performance.Feeders;
Expand All @@ -23,52 +24,49 @@
public class SummonsManagementDeferralSimulation extends AbstractJurorSimulation {
@Override
protected ScenarioBuilder getScenario() {
ChainBuilder responded = group("Juror Record - RESPONDED").on(
feed(Feeders.JUROR_NUMBER_FEEDER_BY_STATUS_MAP.get("2")).exec(
LoginScenario.login(),
JurorRecordSearchScenario.jurorRecordSearch(),
JurorRecordScenario.getUpdateRecord(),
JurorRecordUpdateScenario.postUpdateRecordDeferral(),
randomSwitchOrElse().on(
Choice.withWeight(87,
JurorRecordUpdateScenario.Deferral.postDeferalGrant(Util.getNewScenarioId())),
Choice.withWeight(13,
JurorRecordUpdateScenario.Deferral.postDeferalRefuse(Util.getLastScenarioId()))
).orElse(exitHere())
)
);
ChainBuilder summoned = group("Juror Record - SUMMONED").on(
feed(Feeders.JUROR_NUMBER_FEEDER_BY_STATUS_MAP.get("1")).exec(
LoginScenario.login(),
JurorRecordSearchScenario.jurorRecordSearch(),
JurorRecordScenario.getSummons(),
JurorRecordSummonsScenario.getSummonsReply(),
SummonsReplyScenario.getProcessReply(),
SummonsReplyWhatToDoScenario.Deferral.postDeferralRequest(),
//Select how many dates to enter
randomSwitchOrElse().on(
Choice.withWeight(10,
SummonsReplyWhatToDoScenario.Deferral.getPostDeferralRequest(
Util.getNewScenarioId(), 1)),
Choice.withWeight(20,
SummonsReplyWhatToDoScenario.Deferral.getPostDeferralRequest(
Util.getLastScenarioId(), 2)),
Choice.withWeight(70,
SummonsReplyWhatToDoScenario.Deferral.getPostDeferralRequest(
Util.getLastScenarioId(), 3))
).orElse(exitHere()),
SummonsReplyWhatToDoScenario.Deferral.postDeferral()
)
);

return scenario("Juror Record update - deferral")
.exitBlockOnFail(exec(
randomSwitchOrElse().on(
//Juror Record - RESPONDED
Choice.withWeight(50,
group("Juror Record - RESPONDED").on(
feed(Feeders.JUROR_NUMBER_FEEDER_BY_STATUS_MAP.get("2")).exec(
LoginScenario.login(),
JurorRecordSearchScenario.jurorRecordSearch(),
JurorRecordScenario.getUpdateRecord(),
JurorRecordUpdateScenario.postUpdateRecordDeferral(),
randomSwitchOrElse().on(
Choice.withWeight(87,
JurorRecordUpdateScenario.Deferral.postDeferalGrant(Util.getNewScenarioId())),
Choice.withWeight(13,
JurorRecordUpdateScenario.Deferral.postDeferalRefuse(Util.getLastScenarioId()))
).orElse(exitHere())
)
)
),
//Summons Management - SUMMONED
Choice.withWeight(50,
group("Juror Record - SUMMONED").on(
feed(Feeders.JUROR_NUMBER_FEEDER_BY_STATUS_MAP.get("1")).exec(
LoginScenario.login(),
JurorRecordSearchScenario.jurorRecordSearch(),
JurorRecordScenario.getSummons(),
JurorRecordSummonsScenario.getSummonsReply(),
SummonsReplyScenario.getProcessReply(),
SummonsReplyWhatToDoScenario.Deferral.postDeferralRequest(),
//Select how many dates to enter
randomSwitchOrElse().on(
Choice.withWeight(10,
SummonsReplyWhatToDoScenario.Deferral.getPostDeferralRequest(
Util.getNewScenarioId(), 1)),
Choice.withWeight(20,
SummonsReplyWhatToDoScenario.Deferral.getPostDeferralRequest(
Util.getLastScenarioId(), 2)),
Choice.withWeight(70,
SummonsReplyWhatToDoScenario.Deferral.getPostDeferralRequest(
Util.getLastScenarioId(), 3))
).orElse(exitHere()),
SummonsReplyWhatToDoScenario.Deferral.postDeferral()
)
)
)
Choice.withWeight(50, responded),
Choice.withWeight(50, summoned)
).orElse(exitHere())
));
}
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
package uk.gov.hmcts.juror.performance.simulation.summonsreply;

import io.gatling.javaapi.core.ChainBuilder;
import io.gatling.javaapi.core.Choice;
import io.gatling.javaapi.core.ScenarioBuilder;
import uk.gov.hmcts.juror.performance.Feeders;
Expand All @@ -25,46 +26,44 @@ public class SummonsManagementExcusalSimulation extends AbstractJurorSimulation

@Override
protected ScenarioBuilder getScenario() {
//TODO random number feeder
ChainBuilder responded = group("Juror Record - RESPONDED").on(
feed(Feeders.JUROR_NUMBER_FEEDER_BY_STATUS_MAP.get("2")).exec(
LoginScenario.login(),
JurorRecordSearchScenario.jurorRecordSearch(),
JurorRecordScenario.getUpdateRecord(),
JurorRecordUpdateScenario.postUpdateRecordExcusal(),
randomSwitch().on(
Choice.withWeight(66,
JurorRecordUpdateScenario.Excusal.postExcusalGrant(Util.getNewScenarioId())),
Choice.withWeight(34,
JurorRecordUpdateScenario.Excusal.postExcusalRefuse(Util.getLastScenarioId()))
)
)
);
Util.resetCounter();
ChainBuilder summoned = group("Juror Record - SUMMONED").on(
feed(Feeders.JUROR_NUMBER_FEEDER_BY_STATUS_MAP.get("1")).exec(
LoginScenario.login(),
JurorRecordSearchScenario.jurorRecordSearch(),
JurorRecordScenario.getSummons(),
JurorRecordSummonsScenario.getSummonsReply(),
SummonsReplyScenario.getProcessReply(),
SummonsReplyWhatToDoScenario.Excusal.postExcusalRequest(),
randomSwitchOrElse().on(
Choice.withWeight(87,
SummonsReplyWhatToDoScenario.Excusal.postExcusalGrant(Util.getNewScenarioId())),
Choice.withWeight(13,
SummonsReplyWhatToDoScenario.Excusal.postExcusalRefuse(
Util.getLastScenarioId()))
).orElse(exitHere())
)
);

return scenario("Juror Record update - Excusal")
.exitBlockOnFail(exec(
randomSwitchOrElse().on(
//Juror Record - RESPONDED
Choice.withWeight(0,//TODO once code is implemented on BE/FE set to 50
group("Juror Record - RESPONDED").on(
feed(Feeders.JUROR_NUMBER_FEEDER_BY_STATUS_MAP.get("2")).exec(
LoginScenario.login(),
JurorRecordSearchScenario.jurorRecordSearch(),
JurorRecordScenario.getUpdateRecord(),
JurorRecordUpdateScenario.postUpdateRecordExcusal(),
randomSwitch().on(
Choice.withWeight(66,
JurorRecordUpdateScenario.Excusal.postExcusalGrant(Util.getNewScenarioId())),
Choice.withWeight(34,
JurorRecordUpdateScenario.Excusal.postExcusalRefuse(Util.getLastScenarioId()))
)
)
)
),
//Summons Management - SUMMONED
Choice.withWeight(100,//TODO once code is implemented on BE/FE set to 50
group("Juror Record - SUMMONED").on(
feed(Feeders.JUROR_NUMBER_FEEDER_BY_STATUS_MAP.get("1")).exec(
LoginScenario.login(),
JurorRecordSearchScenario.jurorRecordSearch(),
JurorRecordScenario.getSummons(),
JurorRecordSummonsScenario.getSummonsReply(),
SummonsReplyScenario.getProcessReply(),
SummonsReplyWhatToDoScenario.Excusal.postExcusalRequest(),
randomSwitchOrElse().on(
Choice.withWeight(87,
SummonsReplyWhatToDoScenario.Excusal.postExcusalGrant(Util.getNewScenarioId())),
Choice.withWeight(13,
SummonsReplyWhatToDoScenario.Excusal.postExcusalRefuse(Util.getLastScenarioId()))
).orElse(exitHere())
)
)
)
Choice.withWeight(50, responded),
Choice.withWeight(50, summoned)
).orElse(exitHere())
));
}
Expand Down

0 comments on commit bc5ca0a

Please sign in to comment.