ClientActionResolver { public ClientActionInformation prepareActionInformation(String actionClassName, Method actionMethod) { String actionName = ActionResolvingUtils.resolveClientActionName(actionMethod, ACTION_NAME_SHOULD_BE_VALIDATED); String fullName = ActionResolvingUtils.resolveFullName(actionName, actionClassName); List<ClientActionParameterInformation> parameters = resolveActionParameters(actionMethod); ClientActionSender actionSender = resolveActionResponse(actionMethod); return new ClientActionInformation(actionName, fullName, parameters, actionSender); }  ClientActionInformation prepareActionInformation(String actionClassName, Method actionMethod);  }
@Test public void shouldResolveActionInformationProperly() throws NoSuchMethodException { Method method = MockClientActionClass.class.getMethod(MockClientActionClass.SIMPLE_ACTION_NAME, String.class, VerySimpleMockBean.class, UserContext.class); String actionClassName = MockClientActionClass.class.getSimpleName(); ClientActionInformation actionInformation = clientActionResolver.prepareActionInformation(actionClassName, method); assertEquals(MockClientActionClass.SIMPLE_ACTION_NAME, actionInformation.getName()); String expectedFullName = actionClassName + StringUtils.DOT_AS_STRING + MockClientActionClass.SIMPLE_ACTION_NAME; assertEquals(expectedFullName, actionInformation.getFullName()); assertEquals(3, actionInformation.getParameters().size()); assertNotNull(actionInformation.getResponse()); assertNotNull(actionInformation.getParameters().get(0).getSerialization()); }