Jean-Francois Leveque

Étape de couverture de PublisherVersionView.

package org.legrog.web.publisher;
import org.junit.Before;
import org.junit.Test;
import org.junit.jupiter.api.Nested;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.DisplayName;
import org.junit.jupiter.api.extension.ExtendWith;
import org.junit.platform.runner.JUnitPlatform;
import org.junit.runner.RunWith;
import org.legrog.entities.Country;
import org.legrog.entities.Publisher;
import org.legrog.entities.PublisherVersion;
import org.legrog.test.MockitoExtension;
import org.legrog.web.xyz.SharedService;
import org.mockito.Answers;
import org.mockito.Mock;
......@@ -15,13 +18,16 @@ import org.mockito.runners.MockitoJUnitRunner;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import java.util.List;
import static org.assertj.core.api.Assertions.assertThat;
import static org.mockito.Mockito.when;
/**
* Classe testant PublisherVersionView.
*/
@RunWith(MockitoJUnitRunner.class)
@RunWith(JUnitPlatform.class)
@ExtendWith(MockitoExtension.class)
@DisplayName("Création et visualisation de version d'éditeur")
public class PublisherVersionViewTest {
Logger logger = LoggerFactory.getLogger(getClass());
......@@ -30,8 +36,10 @@ public class PublisherVersionViewTest {
private PublisherVersion publisherVersion;
@Before
public void setUp(@Mock PublisherService publisherService, @Mock SharedService sharedService) {
// TODO tester add et update, mais je ne sais pas comment je suis censé faire
@BeforeEach
public void setUp(@Mock PublisherService publisherService, @Mock SharedService sharedService) throws Exception{
publisherVersionView = new PublisherVersionView(publisherService, sharedService);
publisherVersionView.setEditMode(false);
publisherVersionView.setNewPublisher(false);
......@@ -51,11 +59,16 @@ public class PublisherVersionViewTest {
publisherVersion.setPublisherHistory("J");
publisherVersion.setPublisher(new Publisher());
// todo uncomment when need to use it (new mockito refuses unnecessary stubbing)
// when(publisherService.getPublisherVersion(0)).thenReturn(publisherVersion);
when(publisherService.getPublisherVersion(1)).thenReturn(publisherVersion);
}
@Test
@DisplayName("depends on Shared Service and User Service")
public void testDependencies() {
assertThat(publisherVersionView).isNotNull();
}
@DisplayName("Passage en mode édition")
@Test
public void testEdit() {
......@@ -98,18 +111,46 @@ public class PublisherVersionViewTest {
assertThat(publisherVersionView.isEditMode()).isTrue();
}
// J'ai l'impression qu'on pourrait utiliser de l'imbrication ici
/*
@DisplayName("Annulation de saisie de nouvelle version de saisie d'un éditeur existant")
@Test
public void testCancelNewVersionOfPublisher() {
publisherVersionView.setNewPublisher(false);
publisherVersionView.setPublisherVersionId(1);
publisherVersionView.setPublisherName("1");
publisherVersionView.setPublisherStreetAddress("2");
publisherVersionView.setPublisherPostalCode("3");
publisherVersionView.setPublisherPostOfficeBoxNumber("4");
publisherVersionView.setPublisherAddressRegion("5");
publisherVersionView.setPublisherAddressLocality("6");
publisherVersionView.setPublisherAddressCountry(new Country());
publisherVersionView.setPublisherTelephone("7");
publisherVersionView.setPublisherEmail("8");
publisherVersionView.setPublisherURL("9");
publisherVersionView.setPublisherActive(false);
publisherVersionView.setPublisherHistory("10");
publisherVersionView.cancel();
assertThat(publisherVersionView.getPublisherName()).isEqualTo("A");
assertThat(publisherVersionView.getPublisherStreetAddress()).isEqualTo("B");
assertThat(publisherVersionView.getPublisherPostalCode()).isEqualTo("C");
assertThat(publisherVersionView.getPublisherPostOfficeBoxNumber()).isEqualTo("D");
assertThat(publisherVersionView.getPublisherAddressRegion()).isEqualTo("E");
assertThat(publisherVersionView.getPublisherAddressLocality()).isEqualTo("F");
assertThat(publisherVersionView.getPublisherTelephone()).isEqualTo("G");
assertThat(publisherVersionView.getPublisherEmail()).isEqualTo("H");
assertThat(publisherVersionView.getPublisherURL()).isEqualTo("I");
assertThat(publisherVersionView.getPublisherHistory()).isEqualTo("J");
assertThat(publisherVersionView.isEditMode()).isFalse();
}
}*/
/*
@Test
@DisplayName("Test de la fonction de chargement des valeurs initiales pour leur affichage")
public void testLoadData() {
publisherVersionView.setPublisherVersionId(0);
publisherVersionView.setNewPublisher(true);
publisherVersionView.setPublisherVersionId(1);
publisherVersionView.loadData();
assertThat(publisherVersionView.getPublisherName()).isEqualTo("A");
assertThat(publisherVersionView.getPublisherStreetAddress()).isEqualTo("B");
......@@ -124,5 +165,33 @@ public class PublisherVersionViewTest {
assertThat(publisherVersionView.getPublisherHistory()).isEqualTo("J");
assertThat(publisherVersionView.isNewPublisher()).isFalse();
}
*/
@Test
@DisplayName("Test initialisation formulaire pour nouvel éditeur")
public void testLoadDataEmpty() {
publisherVersionView.setNewPublisher(false);
publisherVersionView.setPublisherVersionId(0);
publisherVersionView.loadData();
assertThat(publisherVersionView.isNewPublisher()).isTrue();
assertThat(publisherVersionView.isEditMode()).isTrue();
}
@Nested
@DisplayName("post construct method")
class init {
private List<Country> countries;
@BeforeEach
public void setUp(@Mock SharedService sharedService) {
when(sharedService.getAllCountries()).thenReturn(countries);
}
@Test
@DisplayName("should set lists of available masks, user roles, and user properties from shared service")
public void testList(@Mock SharedService sharedService) {
publisherVersionView.init();
assertThat(publisherVersionView.getAvailableCountries()).isEqualTo(countries);
}
}
}
\ No newline at end of file
......