/** This method to check the 'edit' link is correct */ @Test public void testGetCustomActionUrls() { List pkNames = new ArrayList(); pkNames.add("protocolId"); final Protocol protocol = new Protocol(); protocol.setProtocolNumber("100"); ProtocolDocument document = new ProtocolDocument(); document.setDocumentNumber("101"); protocol.setProtocolDocument(document); final KcAuthorizationService kraAuthorizationService = context.mock(KcAuthorizationService.class); final String principalId = GlobalVariables.getUserSession().getPrincipalId(); context.checking( new Expectations() { { Map<String, String> fieldValues = new HashMap<String, String>(); one(kraAuthorizationService) .hasPermission(principalId, protocol, PermissionConstants.MODIFY_PROTOCOL); will(returnValue(true)); one(kraAuthorizationService) .hasPermission(principalId, protocol, PermissionConstants.VIEW_PROTOCOL); will(returnValue(true)); } }); protocolLookupableHelperServiceImpl.setKraAuthorizationService(kraAuthorizationService); List<HtmlData> actionUrls = protocolLookupableHelperServiceImpl.getCustomActionUrls(protocol, pkNames); for (HtmlData htmlData : actionUrls) { HtmlData.AnchorHtmlData actionUrl = (HtmlData.AnchorHtmlData) htmlData; if (actionUrl.getMethodToCall().equals("copy")) { assertEquals(((HtmlData.AnchorHtmlData) actionUrl).getHref(), COPY_URL); } else if (actionUrl.getDisplayText().equals("edit")) { assertEquals(((HtmlData.AnchorHtmlData) actionUrl).getHref(), EDIT_URL); } else if (actionUrl.getDisplayText().equals("view")) { assertEquals(((HtmlData.AnchorHtmlData) actionUrl).getHref(), VIEW_URL); } } }