HI Team,
i have below method and i am following the same way using poermockito but i am unable to simulate UI object and always getting Null
the below is the method i would like to write JUNIT
@Override
public void errorManagementViewSeeDetailsButtonClicked(Object source) {
boolean selectedRow = errorManagementTable.setSelectedRows();
if (selectedRow) {
ErrorTransactionType errorTransactionType = errorManagementTable.getSelectedError();
getUI().getNavigator().navigateTo(
UnbalanceErrorView.NAME + “/” + errorTransactionType.getCdSalesMarket() + “/” + errorTransactionType.getDaTrans() + “/”
+ errorTransactionType.getIdCustomer() + “/” + errorTransactionType.getDaOrder() + “/”
+ errorTransactionType.getIdOrder());
} else {
Notification.show(“Select at least one row to see details”, Notification.Type.WARNING_MESSAGE);
}
}
and so far i can simulate errorManagementTable by using EasyMock usage.
here is the code which i am using .
@RunWith(PowerMockRunner.class)
@PrepareForTest({UI.class,Navigator.class})
public class ErrorManagementViewTest {
@InjectMocks
private ErrorManagementMainTable errorManagementTable;
@Mock
private ErrorManagementViewSeeDetailsButton seeDetails;
@Mock
private LogoutButton logout;
@Mock
private Button navigateToTransactionTypeManagementView;
@Mock
Notification notification;
private ErrorManagementView errorManagementView = new ErrorManagementView();
@Before
public void setUp() {
/*ui = EasyMock.createMock(UI.class);
errorManagementView.setUi(ui);*/
errorManagementTable = EasyMock.createMock(ErrorManagementMainTable.class);
errorManagementView.setErrorManagementTable(errorManagementTable);
PowerMockito.mockStatic(Navigator.class);
}
@Test
public void testErrorManagementView() {
// Arrange
ErrorTransactionType errorTransactionType = new ErrorTransactionType();
errorTransactionType.setCdSalesMarket("DE");
errorTransactionType.setCdTransCat(1);
errorTransactionType.setDaOrder(new Date());
errorTransactionType.setErrorCorrected("Y");
errorTransactionType.setErrorTypeDesc("TEST");
errorTransactionType.setIdCustomer(11);
errorTransactionType.setIdOrder("111");
errorTransactionType.setTransactionCategoryDesc("TEST");
PowerMockito.mockStatic(Navigator.class);
MainUI mockManagerUI = mock(MainUI.class);
UI.setCurrent(mockManagerUI);
EasyMock.expect(errorManagementTable.setSelectedRows()).andReturn(true);
EasyMock.expect(errorManagementTable.getSelectedError()).andReturn(errorTransactionType);
EasyMock.replay(errorManagementTable);
errorManagementView.errorManagementViewSeeDetailsButtonClicked(Object.class);
}
}
any help please ???