@Test public void testTransferProject() { // Given Project project = Project.findByOwnerAndProjectName("yobi", "projectYobi"); User oldOwner = User.findByLoginId("yobi"); User newOwner = User.findByLoginId("doortts"); Map<String, String> data = new HashMap<>(); data.put("owner", newOwner.loginId); // When Result result = callAction( controllers.routes.ref.ProjectApp.transferProject(project.owner, project.name), fakeRequest( PUT, routes.ProjectApp.transferProject(project.owner, project.name).url() + "?owner=" + newOwner.loginId) .withSession(UserApp.SESSION_USERID, oldOwner.id.toString())); // Then assertThat(status(result)).isEqualTo(303); // redirection to project home assertThat(redirectLocation(result)).isEqualTo("/yobi/projectYobi"); ProjectTransfer pt = ProjectTransfer.find .where() .eq("project", project) .eq("sender", oldOwner) .eq("destination", newOwner.loginId) .findUnique(); assertThat(pt).isNotNull(); assertThat(pt.confirmKey).isNotNull(); assertThat(pt.accepted).isFalse(); }
@Test public void testTransferProjectToWrongUser() { // Given Project project = Project.findByOwnerAndProjectName("yobi", "projectYobi"); User oldOwner = User.findByLoginId("yobi"); User newOwner = User.findByLoginId("keesun"); Map<String, String> data = new HashMap<>(); data.put("owner", newOwner.loginId); // When Result result = callAction( controllers.routes.ref.ProjectApp.transferProject(project.owner, project.name), fakeRequest( PUT, routes.ProjectApp.transferProject(project.owner, project.name).url() + "?owner=" + newOwner.loginId) .withSession(UserApp.SESSION_USERID, oldOwner.id.toString())); // Then assertThat(status(result)).isEqualTo(400); // bad request }