From b8426e779cfc104d3bedc22005c706b64558d2c1 Mon Sep 17 00:00:00 2001 From: Julian Dehne <julian.dehne@uni-potsdam.de> Date: Tue, 17 Jul 2018 13:39:04 +0200 Subject: [PATCH] feat: extended functionalTests to Journal, Groupfinding and Assessment module --- .../gf/config/GFApplicationBinder.java | 3 + .../unipotsdam/gf/core/states/PhasesImpl.java | 5 +- .../gf/interfaces/IGroupFinding.java | 35 +++++++++ .../unipotsdam/gf/interfaces/IJournal.java | 32 +++++++++ .../gf/interfaces/IPeerAssessment.java | 8 +++ .../gf/modules/assessment/QuizAnswer.java | 4 ++ .../controller/model/StudentAndQuiz.java | 4 ++ .../controller/service/FBAssessement.java | 6 ++ .../controller/service/PeerAssessment.java | 8 ++- .../service/PeerAssessmentDummy.java | 6 ++ .../assessment/controller/view/QuizView.java | 7 +- .../groupfinding/DummyGroupfinding.java | 30 ++++++++ .../groupfinding/GroupfindingCriteria.java | 10 +++ .../groupfinding/GroupfindingImpl.java | 30 ++++++++ .../gf/modules/journal/DummyJournalImpl.java | 26 ++++++- .../peer2peerfeedback/DummyFeedback.java | 6 ++ .../gf/interfaces/ActivityFlowTest.java | 72 +++++++++++++++++-- .../gf/testsandbox/SpiedListHolder.java | 20 ++++++ .../gf/testsandbox/TestTestTest.java | 22 +++++- 19 files changed, 320 insertions(+), 14 deletions(-) create mode 100644 gemeinsamforschen/src/main/java/unipotsdam/gf/interfaces/IGroupFinding.java create mode 100644 gemeinsamforschen/src/main/java/unipotsdam/gf/modules/assessment/QuizAnswer.java create mode 100644 gemeinsamforschen/src/main/java/unipotsdam/gf/modules/groupfinding/DummyGroupfinding.java create mode 100644 gemeinsamforschen/src/main/java/unipotsdam/gf/modules/groupfinding/GroupfindingCriteria.java create mode 100644 gemeinsamforschen/src/main/java/unipotsdam/gf/modules/groupfinding/GroupfindingImpl.java create mode 100644 gemeinsamforschen/src/test/java/unipotsdam/gf/testsandbox/SpiedListHolder.java diff --git a/gemeinsamforschen/src/main/java/unipotsdam/gf/config/GFApplicationBinder.java b/gemeinsamforschen/src/main/java/unipotsdam/gf/config/GFApplicationBinder.java index 2daf3651..6ffde6e8 100644 --- a/gemeinsamforschen/src/main/java/unipotsdam/gf/config/GFApplicationBinder.java +++ b/gemeinsamforschen/src/main/java/unipotsdam/gf/config/GFApplicationBinder.java @@ -10,6 +10,7 @@ import unipotsdam.gf.interfaces.*; import unipotsdam.gf.modules.assessment.controller.service.PeerAssessment; import unipotsdam.gf.modules.assessment.controller.service.PeerAssessmentDummy; import unipotsdam.gf.modules.communication.service.CommunicationDummyService; +import unipotsdam.gf.modules.groupfinding.DummyGroupfinding; import unipotsdam.gf.modules.journal.DummyJournalImpl; import unipotsdam.gf.modules.journal.model.Journal; import unipotsdam.gf.modules.journal.service.DummyJournalService; @@ -34,5 +35,7 @@ public class GFApplicationBinder extends AbstractBinder { bind(ManagementImpl.class).to(Management.class); bind(DummyResearchReportManagement.class).to(ResearchReportManagement.class); bind(TestList.class).to(TestListInterface.class); + bind(DummyGroupfinding.class).to(IGroupFinding.class); + } } diff --git a/gemeinsamforschen/src/main/java/unipotsdam/gf/core/states/PhasesImpl.java b/gemeinsamforschen/src/main/java/unipotsdam/gf/core/states/PhasesImpl.java index 85dc6d81..7bcf8a20 100644 --- a/gemeinsamforschen/src/main/java/unipotsdam/gf/core/states/PhasesImpl.java +++ b/gemeinsamforschen/src/main/java/unipotsdam/gf/core/states/PhasesImpl.java @@ -19,16 +19,12 @@ import javax.inject.Singleton; @ManagedBean public class PhasesImpl implements IPhases { - @Inject private IPeerAssessment iPeerAssessment; - @Inject private Feedback feedback; - @Inject private ICommunication iCommunication; - @Inject private IJournal iJournal; public PhasesImpl() { @@ -41,6 +37,7 @@ public class PhasesImpl implements IPhases { * @param iCommunication * @param iJournal */ + @Inject public PhasesImpl(IPeerAssessment iPeerAssessment, Feedback feedback, ICommunication iCommunication, IJournal iJournal) { this.iPeerAssessment = iPeerAssessment; this.feedback = feedback; diff --git a/gemeinsamforschen/src/main/java/unipotsdam/gf/interfaces/IGroupFinding.java b/gemeinsamforschen/src/main/java/unipotsdam/gf/interfaces/IGroupFinding.java new file mode 100644 index 00000000..f776d8f2 --- /dev/null +++ b/gemeinsamforschen/src/main/java/unipotsdam/gf/interfaces/IGroupFinding.java @@ -0,0 +1,35 @@ +package unipotsdam.gf.interfaces; + +import unipotsdam.gf.core.management.group.Group; +import unipotsdam.gf.core.management.project.Project; +import unipotsdam.gf.modules.groupfinding.GroupFormationMechanism; +import unipotsdam.gf.modules.groupfinding.GroupfindingCriteria; + +public interface IGroupFinding { + + /** + * Select the groupfinding criteria used + * @param groupfindingCriteria + */ + void selectGroupfindingCriteria(GroupfindingCriteria groupfindingCriteria); + + /** + * Persist the selected manual groups + * @param groupComposition + */ + void persistGroups(java.util.List<Group> groupComposition, Project project); + + /** + * @param project + * @return + */ + java.util.List<Group> getGroups(Project project); + + /** + * + * @param groupFindingMechanism + */ + void formGroups(GroupFormationMechanism groupFindingMechanism); + + +} diff --git a/gemeinsamforschen/src/main/java/unipotsdam/gf/interfaces/IJournal.java b/gemeinsamforschen/src/main/java/unipotsdam/gf/interfaces/IJournal.java index 869de710..8f11eec4 100644 --- a/gemeinsamforschen/src/main/java/unipotsdam/gf/interfaces/IJournal.java +++ b/gemeinsamforschen/src/main/java/unipotsdam/gf/interfaces/IJournal.java @@ -2,7 +2,14 @@ package unipotsdam.gf.interfaces; import unipotsdam.gf.core.management.project.Project; +import unipotsdam.gf.core.management.user.User; import unipotsdam.gf.modules.assessment.controller.model.StudentIdentifier; +import unipotsdam.gf.modules.journal.model.Journal; +import unipotsdam.gf.modules.researchreport.ResearchReport; + +import javax.swing.text.html.HTML; +import java.io.File; +import java.util.List; /** * Interface for learning journal @@ -29,4 +36,29 @@ public interface IJournal { * @param project */ void assignMissingPortfolioTasks(Project project); + + /** + * after user has uploaded a journal entry this function is called + * @param journalEntry + * @param student + */ + void uploadJournalEntry(Journal journalEntry, User student); + + /** + * persist final portfolio for assessment + * + * Maybe create a class for the collected portfolio + * @param journalEntries + * @param finalResearchReport + * @param presentation + */ + void uploadFinalPortfolio(Project project, List<Journal> journalEntries, ResearchReport finalResearchReport, File + presentation, User user); + + /** + * + * @param project + * @return + */ + HTML getFinalPortfolioForAssessment(Project project, User user); } diff --git a/gemeinsamforschen/src/main/java/unipotsdam/gf/interfaces/IPeerAssessment.java b/gemeinsamforschen/src/main/java/unipotsdam/gf/interfaces/IPeerAssessment.java index e3b65f14..07ccd75f 100644 --- a/gemeinsamforschen/src/main/java/unipotsdam/gf/interfaces/IPeerAssessment.java +++ b/gemeinsamforschen/src/main/java/unipotsdam/gf/interfaces/IPeerAssessment.java @@ -1,5 +1,6 @@ package unipotsdam.gf.interfaces; +import unipotsdam.gf.modules.assessment.QuizAnswer; import unipotsdam.gf.modules.assessment.controller.model.*; import java.util.ArrayList; @@ -74,4 +75,11 @@ public interface IPeerAssessment { * @param groupId */ void postPeerRating(ArrayList<PeerRating> peerRatings, String projectId, String groupId); + + /** + * + * @param studentAndQuiz + * @param quizAnswer + */ + void answerQuiz(StudentAndQuiz studentAndQuiz, QuizAnswer quizAnswer); } diff --git a/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/assessment/QuizAnswer.java b/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/assessment/QuizAnswer.java new file mode 100644 index 00000000..6e94987d --- /dev/null +++ b/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/assessment/QuizAnswer.java @@ -0,0 +1,4 @@ +package unipotsdam.gf.modules.assessment; + +public class QuizAnswer { +} diff --git a/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/assessment/controller/model/StudentAndQuiz.java b/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/assessment/controller/model/StudentAndQuiz.java index 4f5f5c09..ce8d9bfd 100644 --- a/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/assessment/controller/model/StudentAndQuiz.java +++ b/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/assessment/controller/model/StudentAndQuiz.java @@ -1,5 +1,9 @@ package unipotsdam.gf.modules.assessment.controller.model; + +/** + * TODO @Axel: Normally a quiz would have a student field property instead of creating a new class + */ public class StudentAndQuiz { @Override public String toString() { diff --git a/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/assessment/controller/service/FBAssessement.java b/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/assessment/controller/service/FBAssessement.java index df592667..a00736d6 100644 --- a/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/assessment/controller/service/FBAssessement.java +++ b/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/assessment/controller/service/FBAssessement.java @@ -1,5 +1,6 @@ package unipotsdam.gf.modules.assessment.controller.service; +import unipotsdam.gf.modules.assessment.QuizAnswer; import unipotsdam.gf.modules.assessment.controller.model.*; import java.util.ArrayList; @@ -57,4 +58,9 @@ public class FBAssessement extends AssessmentDAO { public void postPeerRating(ArrayList<PeerRating> peerRatings, String projectId, String groupId) { } + + @Override + public void answerQuiz(StudentAndQuiz studentAndQuiz, QuizAnswer quizAnswer) { + + } } diff --git a/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/assessment/controller/service/PeerAssessment.java b/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/assessment/controller/service/PeerAssessment.java index 9ab276c6..a4ff7b02 100644 --- a/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/assessment/controller/service/PeerAssessment.java +++ b/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/assessment/controller/service/PeerAssessment.java @@ -1,10 +1,9 @@ package unipotsdam.gf.modules.assessment.controller.service; import unipotsdam.gf.core.management.ManagementImpl; -import unipotsdam.gf.core.management.user.User; import unipotsdam.gf.interfaces.IPeerAssessment; +import unipotsdam.gf.modules.assessment.QuizAnswer; import unipotsdam.gf.modules.assessment.controller.model.*; -import unipotsdam.gf.core.database.mysql.MysqlConnect; import java.util.ArrayList; import java.util.List; @@ -56,4 +55,9 @@ public class PeerAssessment implements IPeerAssessment { public void postPeerRating(ArrayList<PeerRating> peerRatings, String projectId, String groupId) { } + + @Override + public void answerQuiz(StudentAndQuiz studentAndQuiz, QuizAnswer quizAnswer) { + + } } diff --git a/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/assessment/controller/service/PeerAssessmentDummy.java b/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/assessment/controller/service/PeerAssessmentDummy.java index 35920c84..368c39df 100644 --- a/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/assessment/controller/service/PeerAssessmentDummy.java +++ b/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/assessment/controller/service/PeerAssessmentDummy.java @@ -1,6 +1,7 @@ package unipotsdam.gf.modules.assessment.controller.service; import unipotsdam.gf.interfaces.IPeerAssessment; +import unipotsdam.gf.modules.assessment.QuizAnswer; import unipotsdam.gf.modules.assessment.controller.model.*; import java.util.ArrayList; @@ -64,6 +65,11 @@ public class PeerAssessmentDummy implements IPeerAssessment { int breakpoint = 0; //todo: print an http-answer for the ajax-request to receive } + @Override + public void answerQuiz(StudentAndQuiz studentAndQuiz, QuizAnswer quizAnswer) { + + } + @Override public Assessment getAssessmentDataFromDB(StudentIdentifier student) { int[] quizAnswer = {1, 1, 1, 0, 0, 0, 1, 0, 0, 1, 1}; diff --git a/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/assessment/controller/view/QuizView.java b/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/assessment/controller/view/QuizView.java index 4ee52595..e0b8b993 100644 --- a/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/assessment/controller/view/QuizView.java +++ b/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/assessment/controller/view/QuizView.java @@ -1,8 +1,8 @@ package unipotsdam.gf.modules.assessment.controller.view; import unipotsdam.gf.interfaces.IPeerAssessment; +import unipotsdam.gf.modules.assessment.QuizAnswer; import unipotsdam.gf.modules.assessment.controller.model.*; -import unipotsdam.gf.modules.assessment.controller.service.PeerAssessment; import unipotsdam.gf.modules.assessment.controller.service.PeerAssessmentDummy; import javax.ws.rs.*; @@ -39,6 +39,11 @@ public class QuizView implements IPeerAssessment { //todo: checkout the POST-variable. should be peerRating but its null atm. } + @Override + public void answerQuiz(StudentAndQuiz studentAndQuiz, QuizAnswer quizAnswer) { + + } + @POST @Produces(MediaType.TEXT_PLAIN) @Consumes(MediaType.APPLICATION_JSON) diff --git a/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/groupfinding/DummyGroupfinding.java b/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/groupfinding/DummyGroupfinding.java new file mode 100644 index 00000000..1afe5314 --- /dev/null +++ b/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/groupfinding/DummyGroupfinding.java @@ -0,0 +1,30 @@ +package unipotsdam.gf.modules.groupfinding; + +import unipotsdam.gf.core.management.group.Group; +import unipotsdam.gf.core.management.project.Project; +import unipotsdam.gf.interfaces.IGroupFinding; + +import java.util.List; + +public class DummyGroupfinding implements IGroupFinding { + @Override + public void selectGroupfindingCriteria(GroupfindingCriteria groupfindingCriteria) { + + } + + @Override + public void persistGroups( + List<Group> groupComposition, Project project) { + + } + + @Override + public List<Group> getGroups(Project project) { + return null; + } + + @Override + public void formGroups(GroupFormationMechanism groupFindingMechanism) { + + } +} diff --git a/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/groupfinding/GroupfindingCriteria.java b/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/groupfinding/GroupfindingCriteria.java new file mode 100644 index 00000000..39c33ca8 --- /dev/null +++ b/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/groupfinding/GroupfindingCriteria.java @@ -0,0 +1,10 @@ +package unipotsdam.gf.modules.groupfinding; + +/** + * TODO: implementieren + * - Self efficacy scale + * - Uncertainty tolerance scale + * - Other sources + */ +public class GroupfindingCriteria { +} diff --git a/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/groupfinding/GroupfindingImpl.java b/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/groupfinding/GroupfindingImpl.java new file mode 100644 index 00000000..8987f63c --- /dev/null +++ b/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/groupfinding/GroupfindingImpl.java @@ -0,0 +1,30 @@ +package unipotsdam.gf.modules.groupfinding; + +import unipotsdam.gf.core.management.group.Group; +import unipotsdam.gf.core.management.project.Project; +import unipotsdam.gf.interfaces.IGroupFinding; + +import java.util.List; + +public class GroupfindingImpl implements IGroupFinding { + @Override + public void selectGroupfindingCriteria(GroupfindingCriteria groupfindingCriteria) { + + } + + @Override + public void persistGroups( + List<Group> groupComposition, Project project) { + + } + + @Override + public List<Group> getGroups(Project project) { + return null; + } + + @Override + public void formGroups(GroupFormationMechanism groupFindingMechanism) { + + } +} diff --git a/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/journal/DummyJournalImpl.java b/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/journal/DummyJournalImpl.java index 469ac938..ea5bc7e4 100644 --- a/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/journal/DummyJournalImpl.java +++ b/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/journal/DummyJournalImpl.java @@ -3,9 +3,15 @@ package unipotsdam.gf.modules.journal; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import unipotsdam.gf.core.management.project.Project; +import unipotsdam.gf.core.management.user.User; import unipotsdam.gf.interfaces.IJournal; import unipotsdam.gf.modules.assessment.controller.model.StudentIdentifier; -import unipotsdam.gf.modules.journal.service.DummyJournalService; +import unipotsdam.gf.modules.journal.model.Journal; +import unipotsdam.gf.modules.researchreport.ResearchReport; + +import javax.swing.text.html.HTML; +import java.io.File; +import java.util.List; public class DummyJournalImpl implements IJournal { @@ -30,4 +36,22 @@ public class DummyJournalImpl implements IJournal { public void assignMissingPortfolioTasks(Project project) { log.debug("assigning fake MissingPortfolioTasks"); } + + @Override + public void uploadJournalEntry(Journal journalEntry, User student) { + + } + + @Override + public void uploadFinalPortfolio( + Project project, List<Journal> journalEntries, ResearchReport finalResearchReport, File presentation, + User user) { + + } + + @Override + public HTML getFinalPortfolioForAssessment( + Project project, User user) { + return null; + } } diff --git a/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/peer2peerfeedback/DummyFeedback.java b/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/peer2peerfeedback/DummyFeedback.java index f01e37c6..c24769c3 100644 --- a/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/peer2peerfeedback/DummyFeedback.java +++ b/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/peer2peerfeedback/DummyFeedback.java @@ -1,5 +1,6 @@ package unipotsdam.gf.modules.peer2peerfeedback; +import org.mockito.Mockito; import uk.co.jemos.podam.api.PodamFactory; import uk.co.jemos.podam.api.PodamFactoryImpl; import unipotsdam.gf.core.management.project.Project; @@ -19,6 +20,11 @@ public class DummyFeedback implements Feedback { private static Boolean missingTaskAssigned = false; + + public DummyFeedback() { + + } + @Override public Peer2PeerFeedback createPeer2PeerFeedbackmask( User feedbackuser, User selectedstudent, File document) { diff --git a/gemeinsamforschen/src/test/java/unipotsdam/gf/interfaces/ActivityFlowTest.java b/gemeinsamforschen/src/test/java/unipotsdam/gf/interfaces/ActivityFlowTest.java index bc3c725f..65248217 100644 --- a/gemeinsamforschen/src/test/java/unipotsdam/gf/interfaces/ActivityFlowTest.java +++ b/gemeinsamforschen/src/test/java/unipotsdam/gf/interfaces/ActivityFlowTest.java @@ -17,19 +17,27 @@ import uk.co.jemos.podam.api.PodamFactory; import uk.co.jemos.podam.api.PodamFactoryImpl; import unipotsdam.gf.config.GFApplicationBinder; import unipotsdam.gf.core.management.Management; +import unipotsdam.gf.core.management.group.Group; import unipotsdam.gf.core.management.project.Project; import unipotsdam.gf.core.management.project.ProjectConfiguration; import unipotsdam.gf.core.management.user.User; import unipotsdam.gf.core.states.ProjectPhase; +import unipotsdam.gf.modules.assessment.QuizAnswer; +import unipotsdam.gf.modules.assessment.controller.model.StudentAndQuiz; +import unipotsdam.gf.modules.groupfinding.GroupFormationMechanism; +import unipotsdam.gf.modules.groupfinding.GroupfindingCriteria; +import unipotsdam.gf.modules.journal.model.Journal; import unipotsdam.gf.modules.peer2peerfeedback.Category; import unipotsdam.gf.modules.peer2peerfeedback.Peer2PeerFeedback; import unipotsdam.gf.modules.researchreport.ResearchReport; import unipotsdam.gf.modules.researchreport.ResearchReportManagement; import javax.inject.Inject; +import java.io.File; import java.util.ArrayList; import java.util.HashMap; import java.util.Iterator; +import static org.junit.Assert.assertNotNull; import static org.junit.Assert.assertTrue; import static org.mockito.Mockito.times; import static org.mockito.Mockito.verify; @@ -53,10 +61,22 @@ public class ActivityFlowTest { @Inject Feedback feedback; - @Inject IPhases phases; + @Inject + IGroupFinding groupFinding; + + @Inject + ICommunication iCommunication; + + @Inject + IJournal iJournal; + + @Inject + IPeerAssessment iPeerAssessment; + + private final Project project = factory.manufacturePojo(Project.class); private final ArrayList<User> students = new ArrayList<>(); private final User teacher = factory.manufacturePojo(User.class); @@ -64,6 +84,8 @@ public class ActivityFlowTest { @Rule public MockitoRule mockitoRule = MockitoJUnit.rule(); + + @Before public void setUp() { final ServiceLocator locator = ServiceLocatorUtilities.bind(new GFApplicationBinder()); @@ -72,9 +94,12 @@ public class ActivityFlowTest { feedback = Mockito.spy(feedback); researchReportManagement = Mockito.spy(researchReportManagement); phases = Mockito.spy(phases); + iCommunication = Mockito.spy(iCommunication); + // TODO @Julian: Find out more elegant way of doing this researchReportManagement.setFeedback(feedback); phases.setFeedback(feedback); + } @Test @@ -88,6 +113,9 @@ public class ActivityFlowTest { // register students loginStudents(); + // form groups + formGroups(); + // end first phase phases.endPhase(ProjectPhase.CourseCreation, project); @@ -105,6 +133,18 @@ public class ActivityFlowTest { } + + public void formGroups() { + + // form groups based on user profil + groupFinding.formGroups(GroupFormationMechanism.UserProfilStrategy); + + // update groups manually + groupFinding.formGroups(GroupFormationMechanism.Manual); + + } + + public void loginTeacher() { teacher.setStudent(false); management.create(teacher, null); @@ -122,10 +162,32 @@ public class ActivityFlowTest { public void uploadReflections() { // update single reflection + Journal journalEntry = factory.manufacturePojo(Journal.class); + + for (User student : students) { + iJournal.uploadJournalEntry(journalEntry, student); + } - // answer quiz - // + // create quiz TODO@Axel this should be a quiz dependend on the student for easier initialization and + // de-coupling + StudentAndQuiz studentAndQuiz = factory.manufacturePojo(StudentAndQuiz.class); + QuizAnswer quizAnswer = factory.manufacturePojo(QuizAnswer.class); + iPeerAssessment.createQuiz(studentAndQuiz); + iPeerAssessment.answerQuiz(studentAndQuiz, quizAnswer); + + // finales Portfolio zusammenstellen + java.util.List<Journal> journalEntries = new ArrayList<Journal>(); + journalEntries.add(journalEntry); + + ResearchReport finalResearchReport = factory.manufacturePojo(ResearchReport.class); + File presentation = new File("dummy.pptx"); + + for (User student : students) { + iJournal.uploadFinalPortfolio(project,journalEntries, finalResearchReport, presentation, student); + } + assertNotNull(true); + } public void uploadDossiers() { @@ -193,7 +255,9 @@ public class ActivityFlowTest { ProjectConfiguration projectConfiguration = factory.manufacturePojo(ProjectConfiguration.class); management.create(projectConfiguration, project); - // + GroupfindingCriteria groupfindingCriteria = factory.manufacturePojo(GroupfindingCriteria.class); + groupFinding.selectGroupfindingCriteria(groupfindingCriteria); + } } diff --git a/gemeinsamforschen/src/test/java/unipotsdam/gf/testsandbox/SpiedListHolder.java b/gemeinsamforschen/src/test/java/unipotsdam/gf/testsandbox/SpiedListHolder.java new file mode 100644 index 00000000..de9f94df --- /dev/null +++ b/gemeinsamforschen/src/test/java/unipotsdam/gf/testsandbox/SpiedListHolder.java @@ -0,0 +1,20 @@ +package unipotsdam.gf.testsandbox; + +import unipotsdam.gf.core.testsandbox.TestListInterface; +import unipotsdam.gf.interfaces.Feedback; + +import javax.inject.Inject; + +public class SpiedListHolder { + private TestListInterface spiedList; + + + @Inject + public SpiedListHolder(TestListInterface spiedList) { + this.spiedList = spiedList; + } + + public TestListInterface getSpiedList() { + return spiedList; + } +} diff --git a/gemeinsamforschen/src/test/java/unipotsdam/gf/testsandbox/TestTestTest.java b/gemeinsamforschen/src/test/java/unipotsdam/gf/testsandbox/TestTestTest.java index 5cbe3ac4..74a6a1f5 100644 --- a/gemeinsamforschen/src/test/java/unipotsdam/gf/testsandbox/TestTestTest.java +++ b/gemeinsamforschen/src/test/java/unipotsdam/gf/testsandbox/TestTestTest.java @@ -28,12 +28,15 @@ public class TestTestTest { @Inject TestListInterface spiedList2; - - @Inject @Spy TestListInterface spiedList3; + + @Inject + SpiedListHolder spiedListHolder; + + @Before public void setUp() { final ServiceLocator locator = ServiceLocatorUtilities.bind(new GFApplicationBinder()); @@ -97,4 +100,19 @@ public class TestTestTest { assertEquals(2, spiedList3.size()); } + + /* // + @Test + public void howSpiesWorkWithConstructorInjection() { + + java.util.List<String> spiedList4 = Mockito.spy(spiedListHolder.getSpiedList()); + + spiedList4.add("one"); + spiedList4.add("two"); + + Mockito.verify(spiedList4).add("one"); + Mockito.verify(spiedList4).add("two"); + + assertEquals(2, spiedList4.size()); + }*/ } -- GitLab