/* * Copyright 2015 Red Hat, Inc. and/or its affiliates. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package org.dashbuilder.displayer.client; import org.dashbuilder.displayer.DisplayerSettingsFactory; import org.junit.Test; import org.junit.runner.RunWith; import org.mockito.Mock; import org.mockito.runners.MockitoJUnitRunner; import static org.junit.Assert.*; import static org.mockito.Mockito.*; @RunWith(MockitoJUnitRunner.class) public class DisplayerRefreshTest extends AbstractDisplayerTest { @Test public void testRefreshEnabled() { AbstractDisplayer displayer = (AbstractDisplayer) displayerLocator.lookupDisplayer( DisplayerSettingsFactory.newTableSettings() .dataset(EXPENSES) .refreshOn(10, false) .buildSettings() ); displayer.draw(); assertEquals(displayer.isRefreshOn(), true); verify(displayer.getView()).enableRefreshTimer(10); verify(displayer.getView(), never()).cancelRefreshTimer(); } @Test public void testRefreshDisabled() { AbstractDisplayer displayer = (AbstractDisplayer) displayerLocator.lookupDisplayer( DisplayerSettingsFactory.newTableSettings() .dataset(EXPENSES) .refreshOff() .buildSettings() ); displayer.draw(); assertEquals(displayer.isRefreshOn(), true); verify(displayer.getView()).cancelRefreshTimer(); verify(displayer.getView(), never()).enableRefreshTimer(anyInt()); } @Test public void testSwitchRefreshOff() { AbstractDisplayer displayer = (AbstractDisplayer) displayerLocator.lookupDisplayer( DisplayerSettingsFactory.newTableSettings() .dataset(EXPENSES) .refreshOn(10, false) .buildSettings() ); // Draw is always required ion order to switch refresh on displayer.draw(); // Switch off reset(displayer.getView()); displayer.setRefreshOn(false); assertEquals(displayer.isRefreshOn(), false); verify(displayer.getView()).cancelRefreshTimer(); } @Test public void testSwitchRefreshOn() { AbstractDisplayer displayer = (AbstractDisplayer) displayerLocator.lookupDisplayer( DisplayerSettingsFactory.newTableSettings() .dataset(EXPENSES) .refreshOn(10, false) .buildSettings() ); // Refresh enabled on draw AbstractDisplayer.View view = displayer.getView(); displayer.draw(); verify(view).enableRefreshTimer(10); // Already on, nothing happens reset(view); displayer.setRefreshOn(true); verify(view, never()).enableRefreshTimer(anyInt()); verify(view, never()).cancelRefreshTimer(); } }