Skip to content

Instantly share code, notes, and snippets.

@FranckSilvestre
Created May 23, 2024 06:27
Show Gist options
  • Save FranckSilvestre/3d77b640b6a1c0fa0d15f5fcf95c2ad9 to your computer and use it in GitHub Desktop.
Save FranckSilvestre/3d77b640b6a1c0fa0d15f5fcf95c2ad9 to your computer and use it in GitHub Desktop.
OurBusinessProject BUT3 2024
package ourbusinessproject;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.extension.ExtendWith;
import org.mockito.Mock;
import org.mockito.junit.jupiter.MockitoExtension;
import static org.mockito.ArgumentMatchers.any;
import static org.mockito.ArgumentMatchers.nullable;
import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.when;
@ExtendWith(MockitoExtension.class)
public class PartnershipControllerTest {
private PartnershipController partnershipController;
@Mock
private EnterpriseProjectService enterpriseProjectService;
@Mock
private PartnershipService partnershipService;
@Mock
private Project project;
@Mock
private Enterprise enterprise;
@BeforeEach
public void setUp() throws Exception {
partnershipController = new PartnershipController(enterpriseProjectService, partnershipService);
}
@Test
public void testAddPartnership() {
// when add request is triggered
when(enterpriseProjectService.findProjectById(1L)).thenReturn(project);
when(enterpriseProjectService.findEnterpriseById(2L)).thenReturn(enterprise);
partnershipController.addPartnership(1L,2L);
// then several collaborations are triggered
verify(enterpriseProjectService).findProjectById(1L);
verify(enterpriseProjectService).findEnterpriseById(2L);
verify(partnershipService).newPartnership(project, enterprise);
}
@Test
public void testRemovePartnership() {
// when add request is triggered
partnershipController.removePartnership(1L);
// then several collaborations are triggered
verify(partnershipService).findPartnershipById(1L);
verify(partnershipService).remove(nullable(Partnership.class));
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment