this.newTemplatePresenter.addContentChangeHandler( changePages ); this.newContainerFormPresenter.addContentChangeHandler( changePages );
public void clear() { newTemplatePresenter.clear(); newContainerFormPresenter.clear(); processConfigPagePresenter.clear(); pages.clear(); pages.add( newTemplatePresenter ); pages.add( newContainerFormPresenter ); }
final Collection<ContainerSpec> containersSpec = new ArrayList<ContainerSpec>(); if ( newTemplatePresenter.isProcessCapabilityChecked() ) { capabilities.add( Capability.PROCESS.toString() ); if ( !newContainerFormPresenter.isEmpty() ) { if ( newTemplatePresenter.isRuleCapabilityChecked() ) { capabilities.add( Capability.RULE.toString() ); if ( newTemplatePresenter.isPlanningCapabilityChecked() ) { capabilities.add( Capability.PLANNING.toString() ); containersSpec.add( newContainerFormPresenter.buildContainerSpec( newTemplatePresenter.getTemplateName(), capabilityContainerConfig ) ); return new ServerTemplate( newTemplatePresenter.getTemplateName(), newTemplatePresenter.getTemplateName(), capabilities, capabilityConfig,
public boolean isValid() { boolean hasError = false; if (isTemplateNameValid()) { view.noErrorOnTemplateName(); } else { view.errorOnTemplateName(); hasError = true; } if (isCapabilityValid()) { view.noErrorOnCapability(); } else { view.errorCapability(); hasError = true; } return !hasError; }
@Before public void setup() throws IllegalAccessException, NoSuchFieldException { specManagementServiceCaller = new CallerMock<SpecManagementService>( specManagementService ); when( newTemplatePresenter.getView() ).thenReturn( newTemplatePresenterView ); final Answer addContentChangeHandler = new Answer() { @Override public Object answer( InvocationOnMock invocation ) throws Throwable { final ContentChangeHandler handler = (ContentChangeHandler) invocation.getArguments()[ 0 ]; contentChangeHandlers.add( handler ); return null; } }; doAnswer( addContentChangeHandler ).when( newTemplatePresenter ).addContentChangeHandler( any( ContentChangeHandler.class ) ); doAnswer( addContentChangeHandler ).when( newContainerFormPresenter ).addContentChangeHandler( any( ContentChangeHandler.class ) ); newServerTemplateWizard = new NewServerTemplateWizard( newTemplatePresenter, newContainerFormPresenter, processConfigPagePresenter, specManagementServiceCaller, notification, serverTemplateListRefreshEvent ); final Field field = AbstractWizard.class.getDeclaredField( "view" ); field.setAccessible( true ); field.set( newServerTemplateWizard, view ); newServerTemplateWizard = spy( newServerTemplateWizard ); }
@Test public void testComplete() { when( newTemplatePresenter.isProcessCapabilityChecked() ).thenReturn( true ); when( newContainerFormPresenter.isEmpty() ).thenReturn( true ); when( newContainerFormPresenter.isEmpty() ).thenReturn( true ); when( newTemplatePresenter.getTemplateName() ).thenReturn( "template-name" ); final String successMessage = "SUCCESS"; when( newTemplatePresenterView.getNewServerTemplateWizardSaveSuccess() ).thenReturn( successMessage ); newServerTemplateWizard.complete(); verify( notification ).fire( new NotificationEvent( successMessage, NotificationEvent.NotificationType.SUCCESS ) ); verifyClear(); verify( serverTemplateListRefreshEvent ).fire( new ServerTemplateListRefresh( "template-name" ) ); doThrow( new RuntimeException() ).when( specManagementService ).saveServerTemplate( any( ServerTemplate.class ) ); final String errorMessage = "ERROR"; when( newTemplatePresenterView.getNewServerTemplateWizardSaveError() ).thenReturn( errorMessage ); newServerTemplateWizard.complete(); verify( notification ).fire( new NotificationEvent( errorMessage, NotificationEvent.NotificationType.ERROR ) ); verify( newServerTemplateWizard ).pageSelected( 0 ); verify( newServerTemplateWizard ).start(); verify( newContainerFormPresenter ).initialise(); }
@Override public String getTitle() { return newTemplatePresenter.getView().getNewServerTemplateWizardTitle(); }
@Override public void onContentChange() { final int currentSelectedPage = getSelectedPage(); if ( newTemplatePresenter.hasProcessCapability() && !newContainerFormPresenter.isEmpty() ) { if ( pages.size() != 3 ) { pages.clear(); pages.add( NewServerTemplateWizard.this.newTemplatePresenter ); pages.add( NewServerTemplateWizard.this.newContainerFormPresenter ); pages.add( NewServerTemplateWizard.this.processConfigPagePresenter ); view.setPageTitles( getPages() ); checkPagesState(); view.selectPage( currentSelectedPage ); } } else if ( pages.size() != 2 ) { pages.clear(); pages.add( NewServerTemplateWizard.this.newTemplatePresenter ); pages.add( NewServerTemplateWizard.this.newContainerFormPresenter ); view.setPageTitles( getPages() ); checkPagesState(); view.selectPage( currentSelectedPage > 1 ? 1 : currentSelectedPage ); } } };
@Override public void onChange( ChangeEvent event ) { if ( presenter.isTemplateNameValid() ) { noErrorOnTemplateName(); } else { errorOnTemplateName(); } fireChangeHandlers(); } } );
@Test public void testIsProcessCapabilityChecked() { when( view.isProcessCapabilityChecked() ).thenReturn( true ).thenReturn( false ); assertTrue( presenter.isProcessCapabilityChecked() ); assertFalse( presenter.isProcessCapabilityChecked() ); }
@Test public void testIsPlanningCapabilityChecked() { when( view.isPlanningCapabilityChecked() ).thenReturn( true ).thenReturn( false ); assertTrue( presenter.isPlanningCapabilityChecked() ); assertFalse( presenter.isPlanningCapabilityChecked() ); }
@Test public void testIsCapabilityValid() { when( view.isPlanningCapabilityChecked() ).thenReturn( true, false, true, false ); when( view.isRuleCapabilityChecked() ).thenReturn( true, false, false ); when( view.isProcessCapabilityChecked() ).thenReturn( true, true, false ); assertTrue( presenter.isCapabilityValid() ); assertTrue( presenter.isCapabilityValid() ); assertTrue( presenter.isCapabilityValid() ); assertFalse( presenter.isCapabilityValid() ); }
@Test public void testIsRuleCapabilityChecked() { when( view.isRuleCapabilityChecked() ).thenReturn( true ).thenReturn( false ); assertTrue( presenter.isRuleCapabilityChecked() ); assertFalse( presenter.isRuleCapabilityChecked() ); }
@Test public void testTemplateName() { final String templateName = "templateName"; when( view.getTemplateName() ).thenReturn( templateName ); assertEquals( templateName, presenter.getTemplateName() ); verify( view ).getTemplateName(); }
@Override public void callback( final Void o ) { notification.fire( new NotificationEvent( newTemplatePresenter.getView().getNewServerTemplateWizardSaveSuccess(), NotificationEvent.NotificationType.SUCCESS ) ); clear(); NewServerTemplateWizard.super.complete(); serverTemplateListRefreshEvent.fire( new ServerTemplateListRefresh( newServerTemplate.getId() ) ); } }, new ErrorCallback<Object>() {
@Test public void testHasProcessCapability() { when( view.getProcessCapabilityCheck() ).thenReturn( true, false ); assertTrue( presenter.hasProcessCapability() ); assertFalse( presenter.hasProcessCapability() ); verify( view, times( 2 ) ).getProcessCapabilityCheck(); }
@Test public void testIsTemplateNameValid() { when( view.getTemplateName() ) .thenReturn( null ) .thenReturn( "" ) .thenReturn( "test" ); assertFalse( presenter.isTemplateNameValid() ); assertFalse( presenter.isTemplateNameValid() ); assertTrue( presenter.isTemplateNameValid() ); }
@Test public void testClear() { presenter.clear(); verify( view ).clear(); }
@Override public boolean error( final Object o, final Throwable throwable ) { notification.fire( new NotificationEvent( newTemplatePresenter.getView().getNewServerTemplateWizardSaveError(), NotificationEvent.NotificationType.ERROR ) ); NewServerTemplateWizard.this.pageSelected( 0 ); NewServerTemplateWizard.this.start(); return false; } } ).saveServerTemplate( newServerTemplate );