package io.oasp.gastronomy.restaurant.tablemanagement.logic.impl; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.when; import org.junit.Rule; import org.junit.Test; import org.mockito.Mock; import org.mockito.junit.MockitoJUnit; import org.mockito.junit.MockitoRule; import io.oasp.gastronomy.restaurant.salesmanagement.logic.api.Salesmanagement; import io.oasp.gastronomy.restaurant.staffmanagement.logic.api.Staffmanagement; import io.oasp.gastronomy.restaurant.tablemanagement.dataaccess.api.TableEntity; import io.oasp.gastronomy.restaurant.tablemanagement.dataaccess.api.dao.TableDao; import io.oasp.gastronomy.restaurant.tablemanagement.logic.api.to.TableEto; import io.oasp.module.beanmapping.common.api.BeanMapper; import io.oasp.module.test.common.base.ModuleTest; /** * This class provides a basic implementation of a {@code ComponentTest} which employs the Mockito framework to provide * fake objects to the SUT. * */ public class TablemanagementImplTest extends ModuleTest { /** * Initializes mocks before each test method. */ @Rule public MockitoRule rule = MockitoJUnit.rule(); /** * The System Under Test (SUT) */ private TablemanagementImpl tableManagementImpl; @Mock private Salesmanagement salesManagement; @Mock private Staffmanagement staffManagement; @Mock private TableDao tableDao; @Mock private BeanMapper beanMapper; /** * Injection of the mocked objects into the SUT. */ @Override public void doSetUp() { super.doSetUp(); this.tableManagementImpl = new TablemanagementImpl(); this.tableManagementImpl.setSalesmanagement(this.salesManagement); this.tableManagementImpl.setStaffmanagement(this.staffManagement); this.tableManagementImpl.setTableDao(this.tableDao); this.tableManagementImpl.setBeanMapper(this.beanMapper); } /** * Delete the used mocks. */ @Override public void doTearDown() { super.doTearDown(); this.salesManagement = null; this.staffManagement = null; this.beanMapper = null; this.tableDao = null; this.tableManagementImpl = null; } /** * This method tests the findTable method. */ @Test public void findTable() { // given TableEntity entity = mock(TableEntity.class); TableEto eto = new TableEto(); when(this.tableDao.findOne(1L)).thenReturn(entity); when(this.beanMapper.map(entity, TableEto.class)).thenReturn(eto); // when TableEto resultEto = this.tableManagementImpl.findTable(1L); // then assertThat(resultEto).isNotNull(); assertThat(resultEto).isEqualTo(eto); } }