diff --git a/application-xpoll-api/src/test/java/com/xwiki/xpoll/internal/rest/DefaultXPollResourceTest.java b/application-xpoll-api/src/test/java/com/xwiki/xpoll/internal/rest/DefaultXPollResourceTest.java index 9f0191a..f62a57e 100644 --- a/application-xpoll-api/src/test/java/com/xwiki/xpoll/internal/rest/DefaultXPollResourceTest.java +++ b/application-xpoll-api/src/test/java/com/xwiki/xpoll/internal/rest/DefaultXPollResourceTest.java @@ -105,9 +105,7 @@ public void configure() throws Exception @Test void saveXPollAnswersWithEditRightTest() throws XWikiRestException { - when(this.contextualAuthorizationManager.hasAccess(eq(Right.VIEW), any(DocumentReference.class))).thenReturn(true); - when(this.contextualAuthorizationManager.hasAccess(eq(Right.EDIT), any(DocumentReference.class))).thenReturn(true); - when(this.xWikiContext.getUserReference()).thenReturn(userDocumentReference); + setMockUserRights(true, true, userDocumentReference); Response response = this.resource.vote("wiki", "space", "page", new Vote()); assertEquals(Response.Status.OK.getStatusCode(), response.getStatus()); } @@ -115,9 +113,7 @@ void saveXPollAnswersWithEditRightTest() throws XWikiRestException @Test void saveXPollAnswersWithoutEditRightTest() throws XWikiRestException { - when(this.contextualAuthorizationManager.hasAccess(eq(Right.VIEW), any(DocumentReference.class))).thenReturn(true); - when(this.contextualAuthorizationManager.hasAccess(eq(Right.EDIT), any(DocumentReference.class))).thenReturn(false); - when(this.xWikiContext.getUserReference()).thenReturn(userDocumentReference); + setMockUserRights(true, false, userDocumentReference); Response response = this.resource.vote("wiki", "space", "page", new Vote()); assertEquals(Response.Status.OK.getStatusCode(), response.getStatus()); } @@ -125,9 +121,7 @@ void saveXPollAnswersWithoutEditRightTest() throws XWikiRestException @Test void saveXPollAnswersWithoutViewRightTest() throws XWikiRestException { - when(this.contextualAuthorizationManager.hasAccess(eq(Right.VIEW), any(DocumentReference.class))).thenReturn(false); - when(this.contextualAuthorizationManager.hasAccess(eq(Right.EDIT), any(DocumentReference.class))).thenReturn(false); - when(this.xWikiContext.getUserReference()).thenReturn(userDocumentReference); + setMockUserRights(false, false, userDocumentReference); Response response = this.resource.vote("wiki", "space", "page", new Vote()); assertEquals(Response.Status.FORBIDDEN.getStatusCode(), response.getStatus()); } @@ -135,9 +129,7 @@ void saveXPollAnswersWithoutViewRightTest() throws XWikiRestException @Test void saveXPollAnswersLoggedOutTest() throws XWikiRestException { - when(this.contextualAuthorizationManager.hasAccess(eq(Right.VIEW), any(DocumentReference.class))).thenReturn(true); - when(this.contextualAuthorizationManager.hasAccess(eq(Right.EDIT), any(DocumentReference.class))).thenReturn(false); - when(this.xWikiContext.getUserReference()).thenReturn(null); + setMockUserRights(true, false, null); Response response = this.resource.vote("wiki", "space", "page", new Vote()); assertEquals(Response.Status.FORBIDDEN.getStatusCode(), response.getStatus()); } @@ -146,8 +138,7 @@ void saveXPollAnswersLoggedOutTest() throws XWikiRestException void saveXPollButManagerThrowsException() throws XPollException, XWikiRestException { DocumentReference docRef = new DocumentReference("xwiki", "Main", "WebHome"); - when(this.xWikiContext.getUserReference()).thenReturn(userDocumentReference); - when(this.contextualAuthorizationManager.hasAccess(Right.VIEW, docRef)).thenReturn(true); + setMockUserRights(true, false, userDocumentReference); when(this.serializer.serialize(null, new WikiReference("wiki"))).thenReturn("userIdentifier"); Vote vote = new Vote(); @@ -157,4 +148,11 @@ void saveXPollButManagerThrowsException() throws XPollException, XWikiRestExcept Response response = resource.vote("xwiki", "Main", "WebHome", vote); assertEquals(Response.Status.NOT_FOUND.getStatusCode(), response.getStatus()); } + + private void setMockUserRights(boolean viewRight, boolean editRight, DocumentReference userReference) + { + when(this.contextualAuthorizationManager.hasAccess(eq(Right.VIEW), any(DocumentReference.class))).thenReturn(viewRight); + when(this.contextualAuthorizationManager.hasAccess(eq(Right.EDIT), any(DocumentReference.class))).thenReturn(editRight); + when(this.xWikiContext.getUserReference()).thenReturn(userReference); + } }