### Question:
ArchetypesSectionPresenter extends Section<SpaceScreenModel> { public void onArchetypeListUpdatedEvent(@Observes final ArchetypeListUpdatedEvent event) { if (archetypeTablePresenter.isSetup()) { fireResetEvent(); notificationEvent.fire( new NotificationEvent(ts.getTranslation(LibraryConstants.ArchetypeListUpdatedMessage), NotificationEvent.NotificationType.INFO)); } } @Inject  ArchetypesSectionPresenter(final Event<SettingsSectionChange<SpaceScreenModel>> settingsSectionChangeEvent,
                                      final MenuItem<SpaceScreenModel> menuItem,
                                      final Promises promises,
                                      final View view,
                                      final @SpaceSettings ArchetypeTablePresenter archetypeTablePresenter,
                                      final Event<NotificationEvent> notificationEvent,
                                      final TranslationService ts); void onArchetypeListUpdatedEvent(@Observes final ArchetypeListUpdatedEvent event); @Override Promise<Void> setup(final SpaceScreenModel model); @Override Promise<Void> save(final String comment,
                              final Supplier<Promise<Void>> chain); @Override SectionView<?> getView(); @Override int currentHashCode();  }### Answer:
@Test public void onArchetypeListUpdatedEventTest() { doReturn(true).when(archetypeTablePresenter).isSetup(); final ArchetypeListUpdatedEvent event = mock(ArchetypeListUpdatedEvent.class); presenter.onArchetypeListUpdatedEvent(event); verify(settingsSectionChangeEvent).fire(any()); verify(notificationEvent).fire(any()); }
@Test public void onArchetypeListUpdatedEventWhenTableIsNotSetup() { doReturn(false).when(archetypeTablePresenter).isSetup(); final ArchetypeListUpdatedEvent event = mock(ArchetypeListUpdatedEvent.class); presenter.onArchetypeListUpdatedEvent(event); verify(settingsSectionChangeEvent, never()).fire(any()); verify(notificationEvent, never()).fire(any()); }