Skip to content

Commit e89fa2c

Browse files
committed
Add question part status to AssignmentProgressDTO
1 parent 4903b9d commit e89fa2c

File tree

4 files changed

+28
-15
lines changed

4 files changed

+28
-15
lines changed

src/main/java/uk/ac/cam/cl/dtg/isaac/api/AssignmentFacade.java

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -405,25 +405,29 @@ public Response getAssignmentProgress(@Context final HttpServletRequest request,
405405

406406
// can the user access the data?
407407
if (userSummary.isAuthorisedFullAccess()) {
408-
ArrayList<GameboardItemState> states = Lists.newArrayList();
408+
ArrayList<GameboardItemState> questionStates = Lists.newArrayList();
409+
ArrayList<List<QuestionPartState>> questionPartStates = Lists.newArrayList();
409410
ArrayList<Integer> correctQuestionParts = Lists.newArrayList();
410411
ArrayList<Integer> incorrectQuestionParts = Lists.newArrayList();
411412
for (GameboardItem questionResult : userGameboardItems.getRight()) {
412-
states.add(questionResult.getState());
413+
questionStates.add(questionResult.getState());
414+
questionPartStates.add(questionResult.getQuestionPartStates());
413415
correctQuestionParts.add(questionResult.getQuestionPartsCorrect());
414416
incorrectQuestionParts.add(questionResult.getQuestionPartsIncorrect());
415417
}
416418
result.add(new AssignmentProgressDTO(
417419
userSummary,
418420
correctQuestionParts,
419421
incorrectQuestionParts,
420-
states
422+
questionStates,
423+
questionPartStates
421424
));
422425
} else {
423426
result.add(new AssignmentProgressDTO(
424427
userSummary,
425428
Collections.emptyList(),
426429
Collections.emptyList(),
430+
Collections.emptyList(),
427431
Collections.emptyList()
428432
));
429433
}

src/main/java/uk/ac/cam/cl/dtg/isaac/dto/AssignmentProgressDTO.java

Lines changed: 18 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,8 @@ public class AssignmentProgressDTO {
1212
public UserSummaryDTO user;
1313
public List<Integer> correctPartResults;
1414
public List<Integer> incorrectPartResults;
15-
public List<Constants.GameboardItemState> results;
15+
public List<Constants.GameboardItemState> questionResults;
16+
public List<List<Constants.QuestionPartState>> questionPartResults;
1617

1718
/**
1819
* Complete AssignmentProgressDTO constructor with all dependencies.
@@ -25,11 +26,12 @@ public class AssignmentProgressDTO {
2526
* @param results
2627
* - Array of results.
2728
*/
28-
public AssignmentProgressDTO(UserSummaryDTO user, List<Integer> correctPartResults, List<Integer> incorrectPartResults, List<Constants.GameboardItemState> results) {
29+
public AssignmentProgressDTO(UserSummaryDTO user, List<Integer> correctPartResults, List<Integer> incorrectPartResults, List<Constants.GameboardItemState> results, List<List<Constants.QuestionPartState>> partResults) {
2930
this.user = user;
3031
this.correctPartResults = correctPartResults;
3132
this.incorrectPartResults = incorrectPartResults;
32-
this.results = results;
33+
this.questionResults = results;
34+
this.questionPartResults = partResults;
3335
}
3436

3537
public AssignmentProgressDTO() {
@@ -59,11 +61,20 @@ public void setIncorrectPartResults(List<Integer> incorrectPartResults) {
5961
this.incorrectPartResults = incorrectPartResults;
6062
}
6163

62-
public List<Constants.GameboardItemState> getResults() {
63-
return results;
64+
public List<Constants.GameboardItemState> getQuestionResults() {
65+
return questionResults;
6466
}
6567

66-
public void setResults(List<Constants.GameboardItemState> results) {
67-
this.results = results;
68+
public void setQuestionResults(List<Constants.GameboardItemState> questionResults) {
69+
this.questionResults = questionResults;
70+
}
71+
72+
73+
public List<List<Constants.QuestionPartState>> getQuestionPartResults() {
74+
return questionPartResults;
75+
}
76+
77+
public void setQuestionPartResults(List<List<Constants.QuestionPartState>> questionPartResults) {
78+
this.questionPartResults = questionPartResults;
6879
}
6980
}

src/test/java/uk/ac/cam/cl/dtg/isaac/api/AssignmentFacadeIT.java

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,6 @@
2828
import uk.ac.cam.cl.dtg.isaac.dto.AssignmentStatusDTO;
2929
import uk.ac.cam.cl.dtg.isaac.dto.SegueErrorResponse;
3030
import uk.ac.cam.cl.dtg.isaac.dto.UserGroupDTO;
31-
import uk.ac.cam.cl.dtg.isaac.dto.users.UserSummaryDTO;
3231
import uk.ac.cam.cl.dtg.segue.dao.SegueDatabaseException;
3332

3433
import jakarta.servlet.http.Cookie;
@@ -45,7 +44,6 @@
4544
import java.util.ArrayList;
4645
import java.util.Calendar;
4746
import java.util.Collections;
48-
import java.util.Map;
4947

5048
import static org.easymock.EasyMock.replay;
5149
import static org.junit.jupiter.api.Assertions.assertEquals;
@@ -506,7 +504,7 @@ public void getAssignmentProgressEndpoint_getProgressAsGroupOwner_succeeds() thr
506504
// check the progress response contains the right fields
507505
AssignmentProgressDTO progressDTO = responseData.get(0);
508506
Assertions.assertNotNull(progressDTO.getUser());
509-
Assertions.assertNotNull(progressDTO.getResults());
507+
Assertions.assertNotNull(progressDTO.getQuestionResults());
510508
Assertions.assertNotNull(progressDTO.getCorrectPartResults());
511509
Assertions.assertNotNull(progressDTO.getIncorrectPartResults());
512510
}
@@ -540,7 +538,7 @@ public void getAssignmentProgressEndpoint_getProgressAsAdditionalManager_succeed
540538
// check the progress response contains the right fields
541539
AssignmentProgressDTO progressDTO = responseData.get(0);
542540
Assertions.assertNotNull(progressDTO.getUser());
543-
Assertions.assertNotNull(progressDTO.getResults());
541+
Assertions.assertNotNull(progressDTO.getQuestionResults());
544542
Assertions.assertNotNull(progressDTO.getCorrectPartResults());
545543
Assertions.assertNotNull(progressDTO.getIncorrectPartResults());
546544
}

src/test/java/uk/ac/cam/cl/dtg/isaac/api/AuthorisationFacadeIT.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -276,7 +276,7 @@ public void revokeOwnerAssociation_studentRevokesTeacherConnection_studentNotInM
276276
UserSummaryDTO userSummary = studentResults.getUser();
277277
assert userSummary != null;
278278
if (userSummary.getId() == ALICE_STUDENT_ID) {
279-
List<Constants.GameboardItemState> results = studentResults.getResults();
279+
List<Constants.GameboardItemState> results = studentResults.getQuestionResults();
280280
assertTrue(results != null && results.isEmpty());
281281
break;
282282
}

0 commit comments

Comments
 (0)