diff --git a/java/com.sap.sailing.selenium.test/src/com/sap/sailing/selenium/api/event/RegattaApi.java b/java/com.sap.sailing.selenium.test/src/com/sap/sailing/selenium/api/event/RegattaApi.java index e9f31125053..8b3f46d5078 100644 --- a/java/com.sap.sailing.selenium.test/src/com/sap/sailing/selenium/api/event/RegattaApi.java +++ b/java/com.sap.sailing.selenium.test/src/com/sap/sailing/selenium/api/event/RegattaApi.java @@ -24,8 +24,8 @@ public class RegattaApi { return new Regatta(ctx.get(REGATTAS + "/" + regattaName)); } - public JSONObject getRegattaRaces(ApiContext ctx, String regattaName) { - return ctx.get(REGATTAS + "/" + regattaName + LIST_REGATTA_RACES); + public RegattaRaces getRegattaRaces(ApiContext ctx, String regattaName) { + return new RegattaRaces(ctx.get(REGATTAS + "/" + regattaName + LIST_REGATTA_RACES)); } public Competitor createAndAddCompetitor(ApiContext ctx, String regattaName, String boatclass, @@ -75,7 +75,7 @@ public class RegattaApi { final JSONArray json = ctx.post(url, queryParams); final RaceColumn[] result = new RaceColumn[json.size()]; for (int i = 0; i < json.size(); i++) { - result[i] = new RaceColumn((JSONObject)(json.get(i))); + result[i] = new RaceColumn((JSONObject) (json.get(i))); } return result; } @@ -242,4 +242,35 @@ public class RegattaApi { return get("racename"); } } + + public class RaceNameWithId extends JsonWrapper { + + public RaceNameWithId(JSONObject json) { + super(json); + } + + public String getName() { + return get("name"); + } + + public String getId() { + return get("id"); + } + } + + public class RegattaRaces extends JsonWrapper { + + public RegattaRaces(JSONObject json) { + super(json); + } + + public String getRegattaName() { + return get("regatta"); + } + + public RaceNameWithId[] getRaces() { + RaceNameWithId[] array = getArray("races", RaceNameWithId.class); + return array; + } + } } diff --git a/java/com.sap.sailing.selenium.test/src/com/sap/sailing/selenium/api/test/RegattaApiTest.java b/java/com.sap.sailing.selenium.test/src/com/sap/sailing/selenium/api/test/RegattaApiTest.java index 2e7b5aadd8a..3edb19e06c5 100644 --- a/java/com.sap.sailing.selenium.test/src/com/sap/sailing/selenium/api/test/RegattaApiTest.java +++ b/java/com.sap.sailing.selenium.test/src/com/sap/sailing/selenium/api/test/RegattaApiTest.java @@ -14,10 +14,12 @@ import org.junit.Test; import com.sap.sailing.selenium.api.core.ApiContext; import com.sap.sailing.selenium.api.event.EventApi; +import com.sap.sailing.selenium.api.event.LeaderboardApi; import com.sap.sailing.selenium.api.event.RegattaApi; import com.sap.sailing.selenium.api.event.RegattaApi.Competitor; import com.sap.sailing.selenium.api.event.RegattaApi.RaceColumn; import com.sap.sailing.selenium.api.event.RegattaApi.Regatta; +import com.sap.sailing.selenium.api.event.RegattaApi.RegattaRaces; import com.sap.sailing.selenium.test.AbstractSeleniumTest; public class RegattaApiTest extends AbstractSeleniumTest { @@ -27,6 +29,7 @@ public class RegattaApiTest extends AbstractSeleniumTest { private final EventApi eventApi = new EventApi(); private final RegattaApi regattaApi = new RegattaApi(); + private final LeaderboardApi leaderboardApi = new LeaderboardApi(); @Before public void setUp() { @@ -65,11 +68,15 @@ public class RegattaApiTest extends AbstractSeleniumTest { final ApiContext ctx = createAdminApiContext(getContextRoot(), SERVER_CONTEXT); eventApi.createEvent(ctx, EVENT_NAME, BOAT_CLASS, CLOSED, "default"); - JSONObject regattaRaces = regattaApi.getRegattaRaces(ctx, EVENT_NAME); - JSONArray races = (JSONArray) regattaRaces.get("races"); + RegattaRaces regattaRaces = regattaApi.getRegattaRaces(ctx, EVENT_NAME); - assertEquals("read: regatta is different", EVENT_NAME, regattaRaces.get("regatta")); - assertEquals("read: reagtta.series should have 0 entries", 0, races.size()); + assertEquals("read: regatta is different", EVENT_NAME, regattaRaces.getRegattaName()); + //assertEquals("read: reagtta.series should have 0 entries", 0, regattaRaces.getRaces().length); + + RaceColumn[] raceColumns = regattaApi.addRaceColumn(ctx, EVENT_NAME, "R", 1); + leaderboardApi.startRaceLogTracking(ctx, EVENT_NAME, raceColumns[0].getRaceName(), "Default"); + regattaRaces = regattaApi.getRegattaRaces(ctx, EVENT_NAME); + assertEquals("read: reagtta.series should have 0 entries", 1, regattaRaces.getRaces().length); } @Test