public void show(final String title, final ParameterizedCommand<ContainerConfig> onSuccessCommand, final Command onCancelCommand, final List<String> alreadyInUseNames) { this.onSuccessCommand = onSuccessCommand; this.onCancelCommand = onCancelCommand; configPresenter.clear(); configPresenter.setup(alreadyInUseNames); view.show(title); }
@Override protected void onOK() { if (configPresenter.validateForSubmit()) { view.hide(); onSuccessCommand.execute(configPresenter.getContainerConfig()); } }
@PostConstruct @Override public void init() { super.init(); view.setContent(configPresenter.getView().getElement()); }
private RemoteCallback<GAV> getLoadGAVSuccessCallback() { return (gav) -> { view.setGroupId(gav.getGroupId()); view.setArtifactId(gav.getArtifactId()); view.setVersion(gav.getVersion()); onGroupIdChange(); onArtifactIdChange(); onVersionChange(); }; }
@Test public void testOnArtifactSelectedSuccessful() { GAV gav = new GAV(GROUP_ID_VALUE, ARTIFACT_ID_VALUE, VERSION_VALUE); when(m2RepoService.loadGAVFromJar(JAR_PATH)).thenReturn(gav); //emulate the returned value was properly loaded into the view. when(view.getGroupId()).thenReturn(GROUP_ID_VALUE); when(view.getArtifactId()).thenReturn(ARTIFACT_ID_VALUE); when(view.getVersion()).thenReturn(VERSION_VALUE); presenter.onArtifactSelected(JAR_PATH); verify(m2RepoService, times(1)).loadGAVFromJar(JAR_PATH); verify(view, times(4)).clearFormError(); verify(view, times(1)).setGroupId(GROUP_ID_VALUE); verify(presenter, times(1)).onGroupIdChange(); verify(view, times(1)).setArtifactId(ARTIFACT_ID_VALUE); verify(presenter, times(1)).onArtifactIdChange(); verify(view, times(1)).setVersion(VERSION_VALUE); verify(presenter, times(1)).onVersionChange(); }
when(translationService.getTranslation(ContainerConfigPresenter_AllFieldsMustBeCompletedErrorMessage)).thenReturn(ERROR_MESSAGE); presenter.clear(); assertFalse(presenter.validateForSubmit()); verify(view, times(1)).showFormError(ERROR_MESSAGE); presenter.onContainerNameChange(); assertFalse(presenter.validateForSubmit()); verify(view, times(2)).showFormError(ERROR_MESSAGE); assertFalse(presenter.validateForSubmit()); verify(view, times(3)).showFormError(ERROR_MESSAGE); assertFalse(presenter.validateForSubmit()); verify(view, times(4)).showFormError(ERROR_MESSAGE); assertTrue(presenter.validateForSubmit()); verify(view, times(4)).showFormError(ERROR_MESSAGE);
@Test public void testOnContainerNameChangeValidButAlreadyInUse() { ArrayList<String> alreadyInUseContainerNames = new ArrayList<>(); alreadyInUseContainerNames.add(CONTAINER_NAME_VALUE); presenter.setup(alreadyInUseContainerNames); when(view.getContainerName()).thenReturn(CONTAINER_NAME_VALUE); when(provisioningValidationService.isValidContainerName(CONTAINER_NAME_VALUE)).thenReturn(true); when(translationService.getTranslation(ContainerConfigPresenter_ContainerNameAlreadyInUseErrorMessage)).thenReturn(ERROR_MESSAGE); presenter.onContainerNameChange(); verify(view, times(1)).clearContainerNameHelpText(); verify(view, times(1)).clearFormError(); verify(view, times(1)).setContainerNameStatus(FormStatus.ERROR); verify(view, times(1)).setContainerNameHelpText(ERROR_MESSAGE); }
@EventHandler("version") private void onVersionChange(@ForEvent("change") final Event event) { presenter.onVersionChange(); } }
@EventHandler("group-id") private void onGroupIdChange(@ForEvent("change") final Event event) { presenter.onGroupIdChange(); }
@EventHandler("artifact-id") private void onArtifactIdChange(@ForEvent("change") final Event event) { presenter.onArtifactIdChange(); }
@EventHandler("container-name") private void onContainerNameChange(@ForEvent("change") final Event event) { presenter.onContainerNameChange(); }
@Test public void testOnOKWhenInvalidConfig() { popup.show(TITLE, okCommand, cancelCommand, alreadyInUseNames); when(configPresenter.validateForSubmit()).thenReturn(false); popup.onOK(); verify(configPresenter, times(1)).validateForSubmit(); verify(basePopupView, never()).hide(); verify(okCommand, never()).execute(any()); }
@Test public void testClear() { presenter.clear(); verify(view, times(1)).clear(); verify(artifactSelector, times(1)).clear(); }
@Test public void testGetContainerConfig() { when(view.getContainerName()).thenReturn(CONTAINER_NAME_VALUE); when(view.getGroupId()).thenReturn(GROUP_ID_VALUE); when(view.getArtifactId()).thenReturn(ARTIFACT_ID_VALUE); when(view.getVersion()).thenReturn(VERSION_VALUE); ContainerConfig containerConfig = presenter.getContainerConfig(); assertEquals(CONTAINER_NAME_VALUE, containerConfig.getName()); assertEquals(GROUP_ID_VALUE, containerConfig.getGroupId()); assertEquals(ARTIFACT_ID_VALUE, containerConfig.getArtifactId()); assertEquals(VERSION_VALUE, containerConfig.getVersion()); }
@Before public void setUp() { when(artifactSelector.getView()).thenReturn(artifactSelectorView); m2RepoServiceCaller = spy(new CallerMock<>(m2RepoService)); provisioningValidationServiceCaller = new CallerMock<>(provisioningValidationService); provisioningClientValidationService = new ProvisioningClientValidationService(provisioningValidationServiceCaller); presenter = spy(new ContainerConfigPresenter(view, artifactSelector, translationService, popupHelper, m2RepoServiceCaller, provisioningClientValidationService)); presenter.init(); verify(view, times(1)).init(presenter); verify(artifactSelector, times(1)).setArtifactSelectHandler(any()); verify(view, times(1)).setArtifactSelectorPresenter(artifactSelectorView); }
@Test public void testOnArtifactSelectedSuccessful() { GAV gav = new GAV(GROUP_ID_VALUE, ARTIFACT_ID_VALUE, VERSION_VALUE); when(m2RepoService.loadGAVFromJar(JAR_PATH)).thenReturn(gav); //emulate the returned value was properly loaded into the view. when(view.getGroupId()).thenReturn(GROUP_ID_VALUE); when(view.getArtifactId()).thenReturn(ARTIFACT_ID_VALUE); when(view.getVersion()).thenReturn(VERSION_VALUE); presenter.onArtifactSelected(JAR_PATH); verify(m2RepoService, times(1)).loadGAVFromJar(JAR_PATH); verify(view, times(4)).clearFormError(); verify(view, times(1)).setGroupId(GROUP_ID_VALUE); verify(presenter, times(1)).onGroupIdChange(); verify(view, times(1)).setArtifactId(ARTIFACT_ID_VALUE); verify(presenter, times(1)).onArtifactIdChange(); verify(view, times(1)).setVersion(VERSION_VALUE); verify(presenter, times(1)).onVersionChange(); }
private RemoteCallback<GAV> getLoadGAVSuccessCallback() { return (gav) -> { view.setGroupId(gav.getGroupId()); view.setArtifactId(gav.getArtifactId()); view.setVersion(gav.getVersion()); onGroupIdChange(); onArtifactIdChange(); onVersionChange(); }; }
when(translationService.getTranslation(ContainerConfigPresenter_AllFieldsMustBeCompletedErrorMessage)).thenReturn(ERROR_MESSAGE); presenter.clear(); assertFalse(presenter.validateForSubmit()); verify(view, times(1)).showFormError(ERROR_MESSAGE); presenter.onContainerNameChange(); assertFalse(presenter.validateForSubmit()); verify(view, times(2)).showFormError(ERROR_MESSAGE); assertFalse(presenter.validateForSubmit()); verify(view, times(3)).showFormError(ERROR_MESSAGE); assertFalse(presenter.validateForSubmit()); verify(view, times(4)).showFormError(ERROR_MESSAGE); assertTrue(presenter.validateForSubmit()); verify(view, times(4)).showFormError(ERROR_MESSAGE);
@Test public void testOnContainerNameChangeValidButAlreadyInUse() { ArrayList<String> alreadyInUseContainerNames = new ArrayList<>(); alreadyInUseContainerNames.add(CONTAINER_NAME_VALUE); presenter.setup(alreadyInUseContainerNames); when(view.getContainerName()).thenReturn(CONTAINER_NAME_VALUE); when(provisioningValidationService.isValidContainerName(CONTAINER_NAME_VALUE)).thenReturn(true); when(translationService.getTranslation(ContainerConfigPresenter_ContainerNameAlreadyInUseErrorMessage)).thenReturn(ERROR_MESSAGE); presenter.onContainerNameChange(); verify(view, times(1)).clearContainerNameHelpText(); verify(view, times(1)).clearFormError(); verify(view, times(1)).setContainerNameStatus(FormStatus.ERROR); verify(view, times(1)).setContainerNameHelpText(ERROR_MESSAGE); }
@EventHandler("version") private void onVersionChange(@ForEvent("change") final Event event) { presenter.onVersionChange(); } }