package com.constellio.app.ui.pages.rm.folder; import static java.util.Arrays.asList; import static org.assertj.core.api.Assertions.assertThat; import java.util.ArrayList; import java.util.List; import com.constellio.app.modules.rm.navigation.RMNavigationConfiguration; import org.assertj.core.api.StringAssert; import org.joda.time.LocalDate; import org.joda.time.LocalDateTime; import org.junit.Before; import org.junit.Test; import org.openqa.selenium.By; import com.constellio.app.entities.schemasDisplay.SchemaDisplayConfig; import com.constellio.app.entities.schemasDisplay.enums.MetadataInputType; import com.constellio.app.modules.rm.RMTestRecords; import com.constellio.app.modules.rm.services.RMSchemasRecordsServices; import com.constellio.app.modules.rm.services.ValueListServices; import com.constellio.app.modules.rm.wrappers.AdministrativeUnit; import com.constellio.app.modules.rm.wrappers.ContainerRecord; import com.constellio.app.modules.rm.wrappers.Document; import com.constellio.app.modules.rm.wrappers.Folder; import com.constellio.app.services.schemasDisplay.SchemasDisplayManager; import com.constellio.app.ui.framework.components.BaseForm; import com.constellio.app.ui.tools.AdvancedResearchWebElement; import com.constellio.app.ui.tools.RecordDisplayWebElement; import com.constellio.app.ui.tools.RecordFormWebElement; import com.constellio.app.ui.tools.ResearchResultWebElement; import com.constellio.app.ui.tools.components.listAddRemove.ListAddRemoveFieldWebElement; import com.constellio.model.entities.EnumWithSmallCode; import com.constellio.model.entities.records.Transaction; import com.constellio.model.entities.records.wrappers.HierarchicalValueListItem; import com.constellio.model.entities.records.wrappers.User; import com.constellio.model.entities.schemas.MetadataValueType; import com.constellio.model.services.records.RecordServices; import com.constellio.model.services.records.RecordServicesException; import com.constellio.model.services.schemas.MetadataSchemasManager; import com.constellio.model.services.schemas.MetadataSchemasManagerException.OptimisticLocking; import com.constellio.model.services.schemas.builders.MetadataBuilder; import com.constellio.model.services.schemas.builders.MetadataSchemaBuilder; import com.constellio.model.services.schemas.builders.MetadataSchemaTypeBuilder; import com.constellio.model.services.schemas.builders.MetadataSchemaTypesBuilder; import com.constellio.sdk.tests.ConstellioTest; import com.constellio.sdk.tests.annotations.InDevelopmentTest; import com.constellio.sdk.tests.annotations.UiTest; import com.constellio.sdk.tests.schemas.MetadataBuilderConfigurator; import com.constellio.sdk.tests.selenium.adapters.constellio.ConstellioWebDriver; import com.constellio.sdk.tests.selenium.adapters.constellio.ConstellioWebElement; @UiTest public class RecordFormMetadatasAcceptanceTest extends ConstellioTest { public static final String METADATA1_FINDER = "folder_default_metadata1"; public static final String METADATA2_FINDER = "folder_default_metadata2"; public static final String METADATA1_CONTAINER_FINDER = "containerRecord_default_metadata1"; public static final String METADATA1_DOCUMENT_FINDER = "document_default_metadata1"; public static final String FOLDER = "Dossier"; public static final String CONTAINING = "Contenant"; public static final String DOCUMENT = "Document"; RecordFormWebElement zeForm; AdvancedResearchWebElement advancedResearch; ResearchResultWebElement researchResult; RecordServices recordServices; ConstellioWebDriver driver; RMTestRecords records = new RMTestRecords(zeCollection); RMSchemasRecordsServices rm; String classificationFinder = "X100"; String administrativeUnitFinder = "12B"; String metadata1 = "metadata1"; String metadata2 = "metadata2"; String zeValueListSchemaTypeCode; String zeTaxonomySchemaTypeCode; LocalDate aDate = new LocalDate(2015, 02, 22); LocalDate anOtherDate = new LocalDate(2005, 02, 22); LocalDateTime aDateTime = new LocalDateTime(2015, 02, 22, 15, 0, 0); LocalDateTime anOtherDateTime = new LocalDateTime(2005, 02, 22, 15, 0, 0); @Before public void setUp() throws Exception { prepareSystem( withZeCollection().withConstellioRMModule().withAllTestUsers().withRMTest( records).withFoldersAndContainersOfEveryStatus() ); inCollection(zeCollection).setCollectionTitleTo("Collection de test"); recordServices = getModelLayerFactory().newRecordServices(); rm = new RMSchemasRecordsServices(zeCollection, getAppLayerFactory()); createValueListAndTaxonomyWithRecords(); } // -------------------------------------------------------------------------------------------------------- // Record Form //TODO Vincent //@Test public void givenCheckboxesMetadataReferencingAnAdministrativeUnitThenOK() throws Exception { updateDefaultFolderSchema(MetadataInputType.CHECKBOXES, new MetadataBuilderConfigurator() { @Override public void configure(MetadataBuilder builder, MetadataSchemaTypesBuilder schemaTypes) { MetadataSchemaTypeBuilder adminUnitSchemaType = schemaTypes.getSchemaType(AdministrativeUnit.SCHEMA_TYPE); builder.defineReferencesTo(adminUnitSchemaType).setMultivalue(true); } }); navigateToAddFolderFormLoggedAs(admin); //TODO To be continued... } //TODO Maxime : Décommenter ce test lorsque firefox installé sur le serveur d'intégration @Test public void givenCheckboxesMetadataReferencingUserThenOK() throws Exception { updateDefaultFolderSchema(MetadataInputType.CHECKBOXES, new MetadataBuilderConfigurator() { @Override public void configure(MetadataBuilder builder, MetadataSchemaTypesBuilder schemaTypes) { MetadataSchemaTypeBuilder userSchemaType = schemaTypes.getSchemaType(User.SCHEMA_TYPE); builder.defineReferencesTo(userSchemaType).setMultivalue(true); } }); createFolderWithCheckboxMetadata(); assertThatMetadata1().contains("Alice"); assertThatMetadata2().contains("Alice"); modifyFolderWithCheckboxMetadata(); assertThatMetadata1().doesNotContain("Alice").contains("Gandalf"); assertThatMetadata2().doesNotContain("Alice").contains("Gandalf"); deleteCheckboxMetadataFromFolder(); assertThatMetadatasNotVisibleInFolderDetails(); hideMetadatasAndAssertThatNotVisible(); } @Test public void givenCheckboxesMetadataReferencingSomeValueListThenOK() throws Exception { updateDefaultFolderSchema(MetadataInputType.CHECKBOXES, new MetadataBuilderConfigurator() { @Override public void configure(MetadataBuilder builder, MetadataSchemaTypesBuilder schemaTypes) { MetadataSchemaTypeBuilder adminUnitSchemaType = schemaTypes.getSchemaType(zeValueListSchemaTypeCode); builder.defineReferencesTo(adminUnitSchemaType).setMultivalue(true); } }); createFolderWithCheckboxMetadata(); assertThatMetadata1().contains("Blue"); assertThatMetadata2().contains("Blue"); modifyFolderWithCheckboxMetadata(); assertThatMetadata1().doesNotContain("Blue").contains("Green"); assertThatMetadata2().doesNotContain("Blue").contains("Green"); deleteCheckboxMetadataFromFolder(); assertThatMetadatasNotVisibleInFolderDetails(); hideMetadatasAndAssertThatNotVisible(); } //TODO Vincent //@Test public void givenCheckboxesMetadataReferencingSomeTaxonomyThenOK() throws Exception { updateDefaultFolderSchema(MetadataInputType.CHECKBOXES, new MetadataBuilderConfigurator() { @Override public void configure(MetadataBuilder builder, MetadataSchemaTypesBuilder schemaTypes) { MetadataSchemaTypeBuilder adminUnitSchemaType = schemaTypes.getSchemaType(zeTaxonomySchemaTypeCode); builder.defineReferencesTo(adminUnitSchemaType).setMultivalue(true); } }); navigateToAddFolderFormLoggedAs(admin); waitUntilICloseTheBrowsers(); //TODO continue } //TODO Vincent //@Test public void givenLookupMetadataReferencingSomeUserUnitThenOK() throws Exception { updateDefaultFolderSchema(MetadataInputType.LOOKUP, new MetadataBuilderConfigurator() { @Override public void configure(MetadataBuilder builder, MetadataSchemaTypesBuilder schemaTypes) { MetadataSchemaTypeBuilder adminUnitSchemaType = schemaTypes.getSchemaType(User.SCHEMA_TYPE); builder.defineReferencesTo(adminUnitSchemaType).setMultivalue(true); } }); // Create navigateToAddFolderFormLoggedAs(admin); zeForm.getListAddRemoveLookupWebElement(METADATA1_FINDER).addElementByChoosingFirstChoice("Gandalf"); zeForm.getListAddRemoveLookupWebElement(METADATA2_FINDER).addElementByChoosingFirstChoice("Chuck"); completeRequiredField(); zeForm.clickSaveButtonAndWaitForPageReload(); assertThatMetadata1().contains("Gandalf"); assertThatMetadata2().contains("Chuck"); // Modify navigateToEditFolder(getFolderId()); zeForm.getListAddRemoveLookupWebElement(METADATA1_FINDER).modifyElementByChoosingFirstChoice(0, "Bob"); zeForm.getListAddRemoveLookupWebElement(METADATA2_FINDER).modifyElementByChoosingFirstChoice(0, "Dakota"); zeForm.clickSaveButtonAndWaitForPageReload(); waitUntilICloseTheBrowsers(); assertThatMetadata1().doesNotContain("Gandalf").contains("Bob"); assertThatMetadata2().doesNotContain("Chuck").contains("Dakota"); // Delete navigateToEditFolder(getFolderId()); zeForm.getListAddRemoveLookupWebElement(METADATA1_FINDER).remove(0); zeForm.getListAddRemoveLookupWebElement(METADATA2_FINDER).remove(0); zeForm.clickSaveButtonAndWaitForPageReload(); assertThatMetadatasNotVisibleInFolderDetails(); hideMetadatasAndAssertThatNotVisible(); assertThatMetadata1().doesNotContain("Gandalf").contains("Bob"); assertThatMetadata2().doesNotContain("Chuck").contains("Dakota"); // Delete navigateToEditFolder(getFolderId()); zeForm.getListAddRemoveLookupWebElement(METADATA1_FINDER).remove(0); zeForm.getListAddRemoveLookupWebElement(METADATA2_FINDER).remove(0); zeForm.clickSaveButtonAndWaitForPageReload(); assertThatMetadatasNotVisibleInFolderDetails(); hideMetadatasAndAssertThatNotVisible(); } //TODO Vincent //@Test public void givenLookupMetadataReferencingSomeTaxonomyThenOK() throws Exception { updateDefaultFolderSchema(MetadataInputType.LOOKUP, new MetadataBuilderConfigurator() { @Override public void configure(MetadataBuilder builder, MetadataSchemaTypesBuilder schemaTypes) { MetadataSchemaTypeBuilder adminUnitSchemaType = schemaTypes.getSchemaType(zeTaxonomySchemaTypeCode); builder.defineReferencesTo(adminUnitSchemaType).setMultivalue(true); } }); // Create navigateToAddFolderFormLoggedAs(admin); zeForm.getListAddRemoveLookupWebElement(METADATA1_FINDER).addElementByChoosingFirstChoice("retrospective"); zeForm.getListAddRemoveLookupWebElement(METADATA2_FINDER).addElementByChoosingFirstChoice("review"); completeRequiredField(); zeForm.clickSaveButtonAndWaitForPageReload(); assertThatMetadata1().contains("Sprint retrospective"); assertThatMetadata2().contains("Sprint review"); // Modify navigateToEditFolder(getFolderId()); zeForm.getListAddRemoveLookupWebElement(METADATA1_FINDER).modifyElementByChoosingFirstChoice(0, "Burndown"); zeForm.getListAddRemoveLookupWebElement(METADATA2_FINDER).modifyElementByChoosingFirstChoice(0, "retrospective"); zeForm.clickSaveButtonAndWaitForPageReload(); waitUntilICloseTheBrowsers(); assertThatMetadata1().doesNotContain("Sprint retrospective").contains("Burndown chart"); assertThatMetadata2().doesNotContain("Sprint review").contains("Sprint retrospective"); // Delete navigateToEditFolder(getFolderId()); zeForm.getListAddRemoveLookupWebElement(METADATA1_FINDER).remove(0); zeForm.getListAddRemoveLookupWebElement(METADATA2_FINDER).remove(0); zeForm.clickSaveButtonAndWaitForPageReload(); assertThatMetadatasNotVisibleInFolderDetails(); hideMetadatasAndAssertThatNotVisible(); assertThatMetadata1().doesNotContain("Sprint retrospective").contains("Burndown chart"); assertThatMetadata2().doesNotContain("Sprint review").contains("Sprint retrospective"); // Delete navigateToEditFolder(getFolderId()); zeForm.getListAddRemoveLookupWebElement(METADATA1_FINDER).remove(0); zeForm.getListAddRemoveLookupWebElement(METADATA2_FINDER).remove(0); zeForm.clickSaveButtonAndWaitForPageReload(); assertThatMetadatasNotVisibleInFolderDetails(); hideMetadatasAndAssertThatNotVisible(); } //TODO Vincent //@Test public void givenLookupMetadataReferencingSomeValueListThenOK() throws Exception { updateDefaultFolderSchema(MetadataInputType.LOOKUP, new MetadataBuilderConfigurator() { @Override public void configure(MetadataBuilder builder, MetadataSchemaTypesBuilder schemaTypes) { MetadataSchemaTypeBuilder adminUnitSchemaType = schemaTypes.getSchemaType(zeValueListSchemaTypeCode); builder.defineReferencesTo(adminUnitSchemaType).setMultivalue(true); } }); // Create navigateToAddFolderFormLoggedAs(admin); zeForm.getListAddRemoveLookupWebElement(METADATA1_FINDER).addElementByChoosingFirstChoice("Red"); zeForm.getListAddRemoveLookupWebElement(METADATA2_FINDER).addElementByChoosingFirstChoice("Red"); completeRequiredField(); zeForm.clickSaveButtonAndWaitForPageReload(); assertThatMetadata1().contains("Red"); assertThatMetadata2().contains("Red"); // Modify navigateToEditFolder(getFolderId()); zeForm.getListAddRemoveLookupWebElement(METADATA1_FINDER).modifyElementByChoosingFirstChoice(0, "Blue"); zeForm.getListAddRemoveLookupWebElement(METADATA2_FINDER).modifyElementByChoosingFirstChoice(0, "Green"); zeForm.clickSaveButtonAndWaitForPageReload(); waitUntilICloseTheBrowsers(); assertThatMetadata1().doesNotContain("Red").contains("Blue"); assertThatMetadata2().doesNotContain("Red").contains("Green"); // Delete navigateToEditFolder(getFolderId()); zeForm.getListAddRemoveLookupWebElement(METADATA1_FINDER).remove(0); zeForm.getListAddRemoveLookupWebElement(METADATA2_FINDER).remove(0); zeForm.clickSaveButtonAndWaitForPageReload(); assertThatMetadatasNotVisibleInFolderDetails(); hideMetadatasAndAssertThatNotVisible(); assertThatMetadata1().doesNotContain("Red").contains("Blue"); assertThatMetadata2().doesNotContain("Red").contains("Green"); // Delete navigateToEditFolder(getFolderId()); zeForm.getListAddRemoveLookupWebElement(METADATA1_FINDER).remove(0); zeForm.getListAddRemoveLookupWebElement(METADATA2_FINDER).remove(0); zeForm.clickSaveButtonAndWaitForPageReload(); assertThatMetadatasNotVisibleInFolderDetails(); hideMetadatasAndAssertThatNotVisible(); } @Test public void givenDropDownMetadataReferencingSomeUserUnitThenOK() throws Exception { updateDefaultFolderSchema(MetadataInputType.DROPDOWN, new MetadataBuilderConfigurator() { @Override public void configure(MetadataBuilder builder, MetadataSchemaTypesBuilder schemaTypes) { MetadataSchemaTypeBuilder adminUnitSchemaType = schemaTypes.getSchemaType(User.SCHEMA_TYPE); builder.defineReferencesTo(adminUnitSchemaType).setMultivalue(true); } }); // Create navigateToAddFolderFormLoggedAs(admin); zeForm.getListAddRemoveDropDownWebElement(METADATA1_FINDER).add("Gandalf"); zeForm.getListAddRemoveDropDownWebElement(METADATA2_FINDER).add("Chuck"); completeRequiredField(); zeForm.clickSaveButtonAndWaitForPageReload(); assertThatMetadata1().contains("Gandalf"); assertThatMetadata2().contains("Chuck"); // Modify navigateToEditFolder(getFolderId()); zeForm.getListAddRemoveDropDownWebElement(METADATA1_FINDER).modify(0, "Bob"); zeForm.getListAddRemoveDropDownWebElement(METADATA2_FINDER).modify(0, "Dakota"); zeForm.clickSaveButtonAndWaitForPageReload(); assertThatMetadata1().doesNotContain("Gandalf").contains("Bob"); assertThatMetadata2().doesNotContain("Chuck").contains("Dakota"); // Delete navigateToEditFolder(getFolderId()); deleteMetadata(zeForm.getListAddRemoveDropDownWebElement(METADATA1_FINDER)); deleteMetadata(zeForm.getListAddRemoveDropDownWebElement(METADATA2_FINDER)); zeForm.clickSaveButtonAndWaitForPageReload(); assertThatMetadatasNotVisibleInFolderDetails(); hideMetadatasAndAssertThatNotVisible(); } //TODO Vincent //@Test public void givenDropDownMetadataReferencingSomeTaxonomyThenOK() throws Exception { updateDefaultFolderSchema(MetadataInputType.DROPDOWN, new MetadataBuilderConfigurator() { @Override public void configure(MetadataBuilder builder, MetadataSchemaTypesBuilder schemaTypes) { MetadataSchemaTypeBuilder adminUnitSchemaType = schemaTypes.getSchemaType(zeTaxonomySchemaTypeCode); builder.defineReferencesTo(adminUnitSchemaType).setMultivalue(true); } }); // Create navigateToAddFolderFormLoggedAs(admin); zeForm.getListAddRemoveDropDownWebElement(METADATA1_FINDER).add("Sprint retrospective"); zeForm.getListAddRemoveDropDownWebElement(METADATA2_FINDER).add("Sprint review"); completeRequiredField(); zeForm.clickSaveButtonAndWaitForPageReload(); assertThatMetadata1().contains("retrospective"); assertThatMetadata2().contains("review"); hideMetadatasAndAssertThatNotVisible(); zeForm.getListAddRemoveDropDownWebElement(METADATA1_FINDER).add("Sprint retrospective"); zeForm.getListAddRemoveDropDownWebElement(METADATA2_FINDER).add("Sprint review"); completeRequiredField(); zeForm.clickSaveButtonAndWaitForPageReload(); assertThatMetadata1().contains("retrospective"); assertThatMetadata2().contains("review"); hideMetadatasAndAssertThatNotVisible(); } //TODO Vincent //@Test public void givenDropDownMetadataReferencingSomeValueListThenOK() throws Exception { updateDefaultFolderSchema(MetadataInputType.DROPDOWN, new MetadataBuilderConfigurator() { @Override public void configure(MetadataBuilder builder, MetadataSchemaTypesBuilder schemaTypes) { MetadataSchemaTypeBuilder adminUnitSchemaType = schemaTypes.getSchemaType(zeValueListSchemaTypeCode); builder.defineReferencesTo(adminUnitSchemaType).setMultivalue(true); } }); // Create navigateToAddFolderFormLoggedAs(admin); zeForm.getListAddRemoveDropDownWebElement(METADATA1_FINDER).add("Red"); zeForm.getListAddRemoveDropDownWebElement(METADATA2_FINDER).add("Blue"); completeRequiredField(); zeForm.clickSaveButtonAndWaitForPageReload(); assertThatMetadata1().contains("Red"); assertThatMetadata2().contains("Blue"); // Modify navigateToEditFolder(getFolderId()); zeForm.getListAddRemoveDropDownWebElement(METADATA1_FINDER).modify(0, "Blue"); zeForm.getListAddRemoveDropDownWebElement(METADATA2_FINDER).modify(0, "Orange"); zeForm.clickSaveButtonAndWaitForPageReload(); assertThatMetadata1().doesNotContain("Red").contains("Blue"); assertThatMetadata2().doesNotContain("Blue").contains("Orange"); // Delete navigateToEditFolder(getFolderId()); deleteMetadata(zeForm.getListAddRemoveDropDownWebElement(METADATA1_FINDER)); deleteMetadata(zeForm.getListAddRemoveDropDownWebElement(METADATA2_FINDER)); zeForm.clickSaveButtonAndWaitForPageReload(); assertThatMetadatasNotVisibleInFolderDetails(); hideMetadatasAndAssertThatNotVisible(); } @Test public void givenDropDownMetadataReferencingOneUserUnitThenOK() throws Exception { updateDefaultFolderSchema(MetadataInputType.DROPDOWN, new MetadataBuilderConfigurator() { @Override public void configure(MetadataBuilder builder, MetadataSchemaTypesBuilder schemaTypes) { MetadataSchemaTypeBuilder adminUnitSchemaType = schemaTypes.getSchemaType(User.SCHEMA_TYPE); builder.defineReferencesTo(adminUnitSchemaType).setMultivalue(false); } }); // Create navigateToAddFolderFormLoggedAs(admin); zeForm.getDropDown(METADATA1_FINDER).selectItemContainingText("Admin"); zeForm.getDropDown(METADATA2_FINDER).selectItemContainingText("Chuck"); completeRequiredField(); zeForm.clickSaveButtonAndWaitForPageReload(); assertThatMetadata1().contains("Admin"); assertThatMetadata2().contains("Chuck"); // Modify navigateToEditFolder(getFolderId()); zeForm.getDropDown(METADATA1_FINDER).selectItemContainingText("Gandalf"); zeForm.getDropDown(METADATA2_FINDER).selectItemContainingText("Charles"); zeForm.clickSaveButtonAndWaitForPageReload(); assertThatMetadata1().doesNotContain("Admin").contains("Gandalf"); assertThatMetadata2().doesNotContain("Chuck").contains("Charles"); // Delete navigateToEditFolder(getFolderId()); zeForm.getDropDown(METADATA1_FINDER).getEmptyValue(); zeForm.getDropDown(METADATA2_FINDER).getEmptyValue(); zeForm.clickSaveButtonAndWaitForPageReload(); assertThatMetadatasNotVisibleInFolderDetails(); hideMetadatasAndAssertThatNotVisible(); } //TODO Vincent //@Test public void givenDropDownMetadataReferencingOneTaxonomyThenOK() throws Exception { updateDefaultFolderSchema(MetadataInputType.DROPDOWN, new MetadataBuilderConfigurator() { @Override public void configure(MetadataBuilder builder, MetadataSchemaTypesBuilder schemaTypes) { MetadataSchemaTypeBuilder adminUnitSchemaType = schemaTypes.getSchemaType(zeTaxonomySchemaTypeCode); builder.defineReferencesTo(adminUnitSchemaType).setMultivalue(false); } }); // Create navigateToAddFolderFormLoggedAs(admin); zeForm.getDropDown(METADATA1_FINDER).selectItemContainingText("Burndown"); zeForm.getDropDown(METADATA2_FINDER).selectItemContainingText("Review"); completeRequiredField(); zeForm.clickSaveButtonAndWaitForPageReload(); assertThatMetadata1().contains("Burndown chart"); assertThatMetadata2().contains("Sprint review"); hideMetadatasAndAssertThatNotVisible(); zeForm.getDropDown(METADATA1_FINDER).selectItemContainingText("Burndown"); zeForm.getDropDown(METADATA2_FINDER).selectItemContainingText("Review"); completeRequiredField(); zeForm.clickSaveButtonAndWaitForPageReload(); assertThatMetadata1().contains("Burndown chart"); assertThatMetadata2().contains("Sprint review"); hideMetadatasAndAssertThatNotVisible(); } @Test public void givenDropDownMetadataReferencingOneValueListThenOK() throws Exception { updateDefaultFolderSchema(MetadataInputType.DROPDOWN, new MetadataBuilderConfigurator() { @Override public void configure(MetadataBuilder builder, MetadataSchemaTypesBuilder schemaTypes) { MetadataSchemaTypeBuilder adminUnitSchemaType = schemaTypes.getSchemaType(zeValueListSchemaTypeCode); builder.defineReferencesTo(adminUnitSchemaType).setMultivalue(false); } }); // Create navigateToAddFolderFormLoggedAs(admin); zeForm.getDropDown(METADATA1_FINDER).selectItemContainingText("Blue"); zeForm.getDropDown(METADATA2_FINDER).selectItemContainingText("Green"); completeRequiredField(); zeForm.clickSaveButtonAndWaitForPageReload(); assertThatMetadata1().contains("Blue"); assertThatMetadata2().contains("Green"); // Modify navigateToEditFolder(getFolderId()); zeForm.getDropDown(METADATA1_FINDER).selectItemContainingText("Green"); zeForm.getDropDown(METADATA2_FINDER).selectItemContainingText("Orange"); zeForm.clickSaveButtonAndWaitForPageReload(); assertThatMetadata1().doesNotContain("Blue").contains("Green"); assertThatMetadata2().doesNotContain("Green").contains("Orange"); // Delete navigateToEditFolder(getFolderId()); zeForm.getDropDown(METADATA1_FINDER).getEmptyValue(); zeForm.getDropDown(METADATA2_FINDER).getEmptyValue(); zeForm.clickSaveButtonAndWaitForPageReload(); assertThatMetadatasNotVisibleInFolderDetails(); hideMetadatasAndAssertThatNotVisible(); } @Test public void givenLookUpMetadataReferencingOneUserUnitThenOK() throws Exception { updateDefaultFolderSchema(MetadataInputType.LOOKUP, new MetadataBuilderConfigurator() { @Override public void configure(MetadataBuilder builder, MetadataSchemaTypesBuilder schemaTypes) { MetadataSchemaTypeBuilder adminUnitSchemaType = schemaTypes.getSchemaType(User.SCHEMA_TYPE); builder.defineReferencesTo(adminUnitSchemaType).setMultivalue(false); } }); // Create navigateToAddFolderFormLoggedAs(admin); zeForm.getLookupField(METADATA1_FINDER).typeAndSelectFirst("Bob"); zeForm.getLookupField(METADATA2_FINDER).typeAndSelectFirst("Gandalf"); completeRequiredField(); zeForm.clickSaveButtonAndWaitForPageReload(); assertThatMetadata1().contains("Bob"); assertThatMetadata2().contains("Gandalf"); // Delete navigateToEditFolder(getFolderId()); zeForm.getDropDown(METADATA1_FINDER).clear(); zeForm.getDropDown(METADATA2_FINDER).clear(); zeForm.clickSaveButtonAndWaitForPageReload(); assertThatMetadatasNotVisibleInFolderDetails(); // Modify navigateToEditFolder(getFolderId()); zeForm.getLookupField(METADATA1_FINDER).typeAndSelectFirst("Admin"); zeForm.getLookupField(METADATA2_FINDER).typeAndSelectFirst("Chuck"); zeForm.clickSaveButtonAndWaitForPageReload(); assertThatMetadata1().doesNotContain("Bob").contains("Admin"); assertThatMetadata2().doesNotContain("Gandalf").contains("Chuck"); hideMetadatasAndAssertThatNotVisible(); } @Test public void givenLookUpMetadataReferencingOneTaxonomyThenOK() throws Exception { updateDefaultFolderSchema(MetadataInputType.LOOKUP, new MetadataBuilderConfigurator() { @Override public void configure(MetadataBuilder builder, MetadataSchemaTypesBuilder schemaTypes) { MetadataSchemaTypeBuilder adminUnitSchemaType = schemaTypes.getSchemaType(zeTaxonomySchemaTypeCode); builder.defineReferencesTo(adminUnitSchemaType).setMultivalue(false); } }); // Create navigateToAddFolderFormLoggedAs(admin); zeForm.getLookupField(METADATA1_FINDER).typeAndSelectFirst("retrospective"); zeForm.getLookupField(METADATA2_FINDER).typeAndSelectFirst("review"); completeRequiredField(); zeForm.clickSaveButtonAndWaitForPageReload(); assertThatMetadata1().contains("retrospective"); assertThatMetadata2().contains("review"); // Delete navigateToEditFolder(getFolderId()); zeForm.getDropDown(METADATA1_FINDER).clear(); zeForm.getDropDown(METADATA2_FINDER).clear(); zeForm.clickSaveButtonAndWaitForPageReload(); assertThatMetadatasNotVisibleInFolderDetails(); // Modify navigateToEditFolder(getFolderId()); zeForm.getLookupField(METADATA1_FINDER).typeAndSelectFirst("backlog"); zeForm.getLookupField(METADATA2_FINDER).typeAndSelectFirst("burndown"); zeForm.clickSaveButtonAndWaitForPageReload(); assertThatMetadata1().doesNotContain("retrospective").contains("backlog"); assertThatMetadata2().doesNotContain("review").contains("Burndown"); hideMetadatasAndAssertThatNotVisible(); } @Test public void givenLookUpMetadataReferencingOneValueListThenOK() throws Exception { updateDefaultFolderSchema(MetadataInputType.LOOKUP, new MetadataBuilderConfigurator() { @Override public void configure(MetadataBuilder builder, MetadataSchemaTypesBuilder schemaTypes) { MetadataSchemaTypeBuilder adminUnitSchemaType = schemaTypes.getSchemaType(zeValueListSchemaTypeCode); builder.defineReferencesTo(adminUnitSchemaType).setMultivalue(false); } }); // Create navigateToAddFolderFormLoggedAs(admin); zeForm.getLookupField(METADATA1_FINDER).typeAndSelectFirst("Red"); zeForm.getLookupField(METADATA2_FINDER).typeAndSelectFirst("Blue"); completeRequiredField(); zeForm.clickSaveButtonAndWaitForPageReload(); assertThatMetadata1().contains("Red"); assertThatMetadata2().contains("Blue"); // Delete navigateToEditFolder(getFolderId()); zeForm.getDropDown(METADATA1_FINDER).clear(); zeForm.getDropDown(METADATA2_FINDER).clear(); zeForm.clickSaveButtonAndWaitForPageReload(); assertThatMetadatasNotVisibleInFolderDetails(); // Modify navigateToEditFolder(getFolderId()); zeForm.getLookupField(METADATA1_FINDER).typeAndSelectFirst("Green"); zeForm.getLookupField(METADATA2_FINDER).typeAndSelectFirst("Orange"); zeForm.clickSaveButtonAndWaitForPageReload(); assertThatMetadata1().doesNotContain("Red").contains("Green"); assertThatMetadata2().doesNotContain("Blue").contains("Orange"); hideMetadatasAndAssertThatNotVisible(); } //TODO Vincent //@Test public void givenRadioButtonMetadataReferencingOneUserUnitThenOK() throws Exception { updateDefaultFolderSchema(MetadataInputType.RADIO_BUTTONS, new MetadataBuilderConfigurator() { @Override public void configure(MetadataBuilder builder, MetadataSchemaTypesBuilder schemaTypes) { MetadataSchemaTypeBuilder userSchemaType = schemaTypes.getSchemaType(User.SCHEMA_TYPE); builder.defineReferencesTo(userSchemaType).setMultivalue(false); } }); createFolderWithCheckboxMetadata(); assertThatMetadata1().contains("Alice"); assertThatMetadata2().contains("Alice"); navigateToEditFolder(getFolderId()); zeForm.getRadioButton(METADATA1_FINDER).toggleContaining("Dakota"); zeForm.getRadioButton(METADATA2_FINDER).toggleContaining("Chuck"); zeForm.clickSaveButtonAndWaitForPageReload(); assertThatMetadata1().doesNotContain("Alice").contains("Dakota"); assertThatMetadata2().doesNotContain("Alice").contains("Chuck"); hideMetadatasAndAssertThatNotVisible(); } //TODO Vincent //@Test public void givenRadioButtonMetadataReferencingOneTaxonomyThenOK() throws Exception { updateDefaultFolderSchema(MetadataInputType.RADIO_BUTTONS, new MetadataBuilderConfigurator() { @Override public void configure(MetadataBuilder builder, MetadataSchemaTypesBuilder schemaTypes) { MetadataSchemaTypeBuilder adminUnitSchemaType = schemaTypes.getSchemaType(zeTaxonomySchemaTypeCode); builder.defineReferencesTo(adminUnitSchemaType).setMultivalue(false); } }); createFolderWithCheckboxMetadata(); waitUntilICloseTheBrowsers(); //TODO continue the test } @Test public void givenRadioButtonMetadataReferencingOneValueListThenOK() throws Exception { updateDefaultFolderSchema(MetadataInputType.RADIO_BUTTONS, new MetadataBuilderConfigurator() { @Override public void configure(MetadataBuilder builder, MetadataSchemaTypesBuilder schemaTypes) { MetadataSchemaTypeBuilder adminUnitSchemaType = schemaTypes.getSchemaType(zeValueListSchemaTypeCode); builder.defineReferencesTo(adminUnitSchemaType).setMultivalue(false); } }); createFolderWithCheckboxMetadata(); assertThatMetadata1().contains("Blue"); assertThatMetadata2().contains("Blue"); navigateToEditFolder(getFolderId()); zeForm.getRadioButton(METADATA1_FINDER).toggleContaining("Red"); zeForm.getRadioButton(METADATA2_FINDER).toggleContaining("Green"); zeForm.clickSaveButtonAndWaitForPageReload(); assertThatMetadata1().doesNotContain("Blue").contains("Red"); assertThatMetadata2().doesNotContain("Blue").contains("Green"); hideMetadatasAndAssertThatNotVisible(); } @Test public void givenDropDownMetadataEnumMultivalueThenOK() throws Exception { updateDefaultFolderSchema(MetadataInputType.DROPDOWN, new MetadataBuilderConfigurator() { @Override public void configure(MetadataBuilder builder, MetadataSchemaTypesBuilder schemaTypes) { builder.defineAsEnum(AnEnumClass.class).setMultivalue(true); } }); // Create navigateToAddFolderFormLoggedAs(admin); zeForm.getDropDown(METADATA1_FINDER).selectItemContainingText("A Value Awesome"); zeForm.getDropDown(METADATA2_FINDER).selectItemContainingText("Other"); completeRequiredField(); zeForm.clickSaveButtonAndWaitForPageReload(); assertThatMetadata1().contains("A Value Awesome"); assertThatMetadata2().contains("An Other Value"); // Modify navigateToEditFolder(getFolderId()); zeForm.getListAddRemoveDropDownWebElement(METADATA1_FINDER).modify(0, "An Other Value"); zeForm.getListAddRemoveDropDownWebElement(METADATA2_FINDER).modify(0, "A Value Awesome"); zeForm.clickSaveButtonAndWaitForPageReload(); assertThatMetadata1().doesNotContain("A Value Awesome").contains("An Other Value"); assertThatMetadata2().doesNotContain("An Other Value").contains("A Value Awesome"); // Delete navigateToEditFolder(getFolderId()); deleteMetadata(zeForm.getListAddRemoveDropDownWebElement(METADATA1_FINDER)); deleteMetadata(zeForm.getListAddRemoveDropDownWebElement(METADATA2_FINDER)); zeForm.clickSaveButtonAndWaitForPageReload(); assertThatMetadatasNotVisibleInFolderDetails(); hideMetadatasAndAssertThatNotVisible(); } @Test public void givenCheckboxMetadataEnumMultivalueThenOK() throws Exception { updateDefaultFolderSchema(MetadataInputType.CHECKBOXES, new MetadataBuilderConfigurator() { @Override public void configure(MetadataBuilder builder, MetadataSchemaTypesBuilder schemaTypes) { builder.defineAsEnum(AnEnumClass.class).setMultivalue(true); } }); createFolderWithCheckboxMetadata(); assertThatMetadata1().contains("Awesome"); assertThatMetadata2().contains("Awesome"); modifyFolderWithCheckboxMetadata(); assertThatMetadata1().doesNotContain("Awesome").contains("Other"); assertThatMetadata2().doesNotContain("Awesome").contains("Other"); deleteCheckboxMetadataFromFolder(); assertThatMetadatasNotVisibleInFolderDetails(); hideMetadatasAndAssertThatNotVisible(); } @Test public void givenRadioButtonMetadataEnumThenOK() throws Exception { updateDefaultFolderSchema(MetadataInputType.RADIO_BUTTONS, new MetadataBuilderConfigurator() { @Override public void configure(MetadataBuilder builder, MetadataSchemaTypesBuilder schemaTypes) { builder.defineAsEnum(AnEnumClass.class).setMultivalue(false); } }); createFolderWithCheckboxMetadata(); assertThatMetadata1().contains("Awesome"); assertThatMetadata2().contains("Awesome"); navigateToEditFolder(getFolderId()); zeForm.getRadioButton(METADATA1_FINDER).toggleContaining("Other"); zeForm.getRadioButton(METADATA2_FINDER).toggleContaining("Other"); zeForm.clickSaveButtonAndWaitForPageReload(); assertThatMetadata1().doesNotContain("Awesome").contains("Other"); assertThatMetadata2().doesNotContain("Awesome").contains("Other"); hideMetadatasAndAssertThatNotVisible(); } @Test public void givenDropDownMetadataEnumThenOK() throws Exception { updateDefaultFolderSchema(MetadataInputType.DROPDOWN, new MetadataBuilderConfigurator() { @Override public void configure(MetadataBuilder builder, MetadataSchemaTypesBuilder schemaTypes) { builder.defineAsEnum(AnEnumClass.class).setMultivalue(false); } }); // Create navigateToAddFolderFormLoggedAs(admin); zeForm.getDropDown(METADATA1_FINDER).selectItemContainingText("A Value Awesome"); zeForm.getDropDown(METADATA2_FINDER).selectItemContainingText("Other"); completeRequiredField(); zeForm.clickSaveButtonAndWaitForPageReload(); assertThatMetadata1().contains("A Value Awesome"); assertThatMetadata2().contains("An Other Value"); // Modify navigateToEditFolder(getFolderId()); zeForm.getDropDown(METADATA1_FINDER).selectItemContainingText("An Other Value"); zeForm.getDropDown(METADATA2_FINDER).selectItemContainingText("A Value Awesome"); zeForm.clickSaveButtonAndWaitForPageReload(); assertThatMetadata1().doesNotContain("A Value Awesome").contains("An Other Value"); assertThatMetadata2().doesNotContain("An Other Value").contains("A Value Awesome"); // Delete navigateToEditFolder(getFolderId()); zeForm.getDropDown(METADATA1_FINDER).getEmptyValue(); zeForm.getDropDown(METADATA2_FINDER).getEmptyValue(); zeForm.clickSaveButtonAndWaitForPageReload(); assertThatMetadatasNotVisibleInFolderDetails(); hideMetadatasAndAssertThatNotVisible(); } //TODO Vincent //@Test public void givenFieldMetadataNumbersMultivaluesThenOK() throws Exception { updateDefaultFolderSchema(MetadataInputType.FIELD, new MetadataBuilderConfigurator() { @Override public void configure(MetadataBuilder builder, MetadataSchemaTypesBuilder schemaTypes) { builder.setType(MetadataValueType.NUMBER).setMultivalue(true); } }); // Create navigateToAddFolderFormLoggedAs(admin); zeForm.getListAddRemoveTextField(METADATA1_FINDER).add("3.14"); zeForm.getListAddRemoveTextField(METADATA2_FINDER).add("-3.14"); completeRequiredField(); zeForm.clickSaveButtonAndWaitForPageReload(); assertThatMetadata1().contains("3.14"); assertThatMetadata2().contains("-3.14"); // Modify navigateToEditFolder(getFolderId()); zeForm.getListAddRemoveTextField(METADATA1_FINDER).modifyTo(0, "42"); zeForm.getListAddRemoveTextField(METADATA2_FINDER).modifyTo(0, "-42"); zeForm.clickSaveButtonAndWaitForPageReload(); assertThatMetadata1().doesNotContain("3.14").contains("42"); assertThatMetadata2().doesNotContain("3.14").contains("42"); // Delete navigateToEditFolder(getFolderId()); deleteMetadata(zeForm.getListAddRemoveTextField(METADATA1_FINDER)); deleteMetadata(zeForm.getListAddRemoveTextField(METADATA2_FINDER)); zeForm.clickSaveButtonAndWaitForPageReload(); assertThatMetadatasNotVisibleInFolderDetails(); hideMetadatasAndAssertThatNotVisible(); assertThatMetadatasNotVisibleInFolderDetails(); hideMetadatasAndAssertThatNotVisible(); } @Test public void givenFieldMetadataNumberThenOK() throws Exception { updateDefaultFolderSchema(MetadataInputType.FIELD, new MetadataBuilderConfigurator() { @Override public void configure(MetadataBuilder builder, MetadataSchemaTypesBuilder schemaTypes) { builder.setType(MetadataValueType.NUMBER).setMultivalue(false); } }); // Create navigateToAddFolderFormLoggedAs(admin); zeForm.getTextField(METADATA1_FINDER).setValue("3,14"); zeForm.getTextField(METADATA2_FINDER).setValue("-3,14"); completeRequiredField(); zeForm.clickSaveButtonAndWaitForPageReload(); assertThatMetadata1().contains("3.14"); assertThatMetadata2().contains("-3.14"); // Modify navigateToEditFolder(getFolderId()); zeForm.getTextField(METADATA1_FINDER).setValue("42"); zeForm.getTextField(METADATA2_FINDER).setValue("-42"); zeForm.clickSaveButtonAndWaitForPageReload(); assertThatMetadata1().doesNotContain("3.14").contains("42"); assertThatMetadata2().doesNotContain("3.14").contains("42"); // Delete navigateToEditFolder(getFolderId()); zeForm.getTextField(METADATA1_FINDER).clear(); zeForm.getTextField(METADATA2_FINDER).clear(); zeForm.clickSaveButtonAndWaitForPageReload(); assertThatMetadatasNotVisibleInFolderDetails(); hideMetadatasAndAssertThatNotVisible(); assertThatMetadatasNotVisibleInFolderDetails(); hideMetadatasAndAssertThatNotVisible(); } @Test public void givenFieldMetadataTextMultivaluesThenOK() throws Exception { updateDefaultFolderSchema(MetadataInputType.FIELD, new MetadataBuilderConfigurator() { @Override public void configure(MetadataBuilder builder, MetadataSchemaTypesBuilder schemaTypes) { builder.setType(MetadataValueType.TEXT).setMultivalue(true); } }); // Create navigateToAddFolderFormLoggedAs(admin); zeForm.getListAddRemoveTextField(METADATA1_FINDER).add("Nota Bene"); zeForm.getListAddRemoveTextField(METADATA2_FINDER).add("Post Sriptum"); completeRequiredField(); zeForm.clickSaveButtonAndWaitForPageReload(); assertThatMetadata1().contains("Nota"); assertThatMetadata2().contains("Post"); // Modify navigateToEditFolder(getFolderId()); zeForm.getListAddRemoveTextField(METADATA1_FINDER).modifyTo(0, "Bla"); zeForm.getListAddRemoveTextField(METADATA2_FINDER).modifyTo(0, "Nota Bene"); zeForm.clickSaveButtonAndWaitForPageReload(); assertThatMetadata1().doesNotContain("Nota Bene").contains("Bla"); assertThatMetadata2().doesNotContain("Post Scriptum").contains("Nota"); // Delete navigateToEditFolder(getFolderId()); deleteMetadata(zeForm.getListAddRemoveTextField(METADATA1_FINDER)); deleteMetadata(zeForm.getListAddRemoveTextField(METADATA2_FINDER)); zeForm.clickSaveButtonAndWaitForPageReload(); assertThatMetadatasNotVisibleInFolderDetails(); hideMetadatasAndAssertThatNotVisible(); } @Test public void givenTextAreaMetadataTextMultivaluesThenOK() throws Exception { updateDefaultFolderSchema(MetadataInputType.TEXTAREA, new MetadataBuilderConfigurator() { @Override public void configure(MetadataBuilder builder, MetadataSchemaTypesBuilder schemaTypes) { builder.setType(MetadataValueType.TEXT).setMultivalue(true); } }); // Create navigateToAddFolderFormLoggedAs(admin); zeForm.getListAddRemoveTextField(METADATA1_FINDER).add("Nota Bene"); zeForm.getListAddRemoveTextField(METADATA2_FINDER).add("Post Sriptum"); completeRequiredField(); zeForm.clickSaveButtonAndWaitForPageReload(); assertThatMetadata1().contains("Nota"); assertThatMetadata2().contains("Post"); // Modify navigateToEditFolder(getFolderId()); zeForm.getListAddRemoveTextField(METADATA1_FINDER).modifyTo(0, "Bla"); zeForm.getListAddRemoveTextField(METADATA2_FINDER).modifyTo(0, "Nota Bene"); zeForm.clickSaveButtonAndWaitForPageReload(); assertThatMetadata1().doesNotContain("Nota Bene").contains("Bla"); assertThatMetadata2().doesNotContain("Post Scriptum").contains("Nota"); // Delete navigateToEditFolder(getFolderId()); deleteMetadata(zeForm.getListAddRemoveTextField(METADATA1_FINDER)); deleteMetadata(zeForm.getListAddRemoveTextField(METADATA2_FINDER)); zeForm.clickSaveButtonAndWaitForPageReload(); assertThatMetadatasNotVisibleInFolderDetails(); hideMetadatasAndAssertThatNotVisible(); } @Test //TODO Maxime : Décommenter ce test lorsque firefox installé sur le serveur d'intégration @InDevelopmentTest public void givenRichTextMetadataTextMultivaluesThenOK() throws Exception { updateDefaultFolderSchema(MetadataInputType.RICHTEXT, new MetadataBuilderConfigurator() { @Override public void configure(MetadataBuilder builder, MetadataSchemaTypesBuilder schemaTypes) { builder.setType(MetadataValueType.TEXT).setMultivalue(true); } }); // Create navigateToAddFolderFormLoggedAs(admin); zeForm.getListAddRemoveRichTextField(METADATA1_FINDER).add("Nota Bene"); zeForm.getListAddRemoveRichTextField(METADATA2_FINDER).add("Post Scriptum"); completeRequiredField(); zeForm.clickSaveButtonAndWaitForPageReload(); assertThatMetadata1().contains("Nota"); assertThatMetadata2().contains("Post"); // Modify navigateToEditFolder(getFolderId()); zeForm.getListAddRemoveRichTextField(METADATA1_FINDER).modifyTo(0, "Bla"); zeForm.getListAddRemoveRichTextField(METADATA2_FINDER).modifyTo(0, "Nota Bene"); zeForm.clickSaveButtonAndWaitForPageReload(); assertThatMetadata1().doesNotContain("Nota Bene").contains("Bla"); assertThatMetadata2().doesNotContain("Post Scriptum").contains("Nota"); // Delete navigateToEditFolder(getFolderId()); deleteMetadata(zeForm.getListAddRemoveRichTextField(METADATA1_FINDER)); deleteMetadata(zeForm.getListAddRemoveRichTextField(METADATA2_FINDER)); zeForm.clickSaveButtonAndWaitForPageReload(); assertThatMetadatasNotVisibleInFolderDetails(); hideMetadatasAndAssertThatNotVisible(); } @Test public void givenFieldMetadataTextThenOK() throws Exception { updateDefaultFolderSchema(MetadataInputType.FIELD, new MetadataBuilderConfigurator() { @Override public void configure(MetadataBuilder builder, MetadataSchemaTypesBuilder schemaTypes) { builder.setType(MetadataValueType.TEXT).setMultivalue(false); } }); // Create navigateToAddFolderFormLoggedAs(admin); zeForm.getTextField(METADATA1_FINDER).setValue("Nota Bene"); zeForm.getTextField(METADATA2_FINDER).setValue("Post Scriptum"); completeRequiredField(); zeForm.clickSaveButtonAndWaitForPageReload(); assertThatMetadata1().contains("Nota"); assertThatMetadata2().contains("Post"); // Modify navigateToEditFolder(getFolderId()); zeForm.getTextField(METADATA1_FINDER).setValue("Bla"); zeForm.getTextField(METADATA2_FINDER).setValue("Nota Bene"); zeForm.clickSaveButtonAndWaitForPageReload(); assertThatMetadata1().doesNotContain("Nota Bene").contains("Bla"); assertThatMetadata2().doesNotContain("Post Scriptum").contains("Nota"); // Delete navigateToEditFolder(getFolderId()); zeForm.getTextField(METADATA1_FINDER).clear(); zeForm.getTextField(METADATA2_FINDER).clear(); zeForm.clickSaveButtonAndWaitForPageReload(); assertThatMetadatasNotVisibleInFolderDetails(); hideMetadatasAndAssertThatNotVisible(); } @Test public void givenTextAreaMetadataTextThenOK() throws Exception { updateDefaultFolderSchema(MetadataInputType.TEXTAREA, new MetadataBuilderConfigurator() { @Override public void configure(MetadataBuilder builder, MetadataSchemaTypesBuilder schemaTypes) { builder.setType(MetadataValueType.TEXT).setMultivalue(false); } }); // Create navigateToAddFolderFormLoggedAs(admin); zeForm.getTextField(METADATA1_FINDER).setValue("Nota Bene"); zeForm.getTextField(METADATA2_FINDER).setValue("Post Sriptum"); completeRequiredField(); zeForm.clickSaveButtonAndWaitForPageReload(); assertThatMetadata1().contains("Nota"); assertThatMetadata2().contains("Post"); // Modify navigateToEditFolder(getFolderId()); zeForm.getTextField(METADATA1_FINDER).setValue("Bla"); zeForm.getTextField(METADATA2_FINDER).setValue("Nota Bene"); zeForm.clickSaveButtonAndWaitForPageReload(); assertThatMetadata1().doesNotContain("Nota Bene").contains("Bla"); assertThatMetadata2().doesNotContain("Post Scriptum").contains("Nota"); // Delete navigateToEditFolder(getFolderId()); zeForm.getTextField(METADATA1_FINDER).clear(); zeForm.getTextField(METADATA2_FINDER).clear(); zeForm.clickSaveButtonAndWaitForPageReload(); assertThatMetadatasNotVisibleInFolderDetails(); hideMetadatasAndAssertThatNotVisible(); } @Test //TODO Maxime : Décommenter ce test lorsque firefox installé sur le serveur d'intégration @InDevelopmentTest public void givenRichTextMetadataTextThenOK() throws Exception { updateDefaultFolderSchema(MetadataInputType.RICHTEXT, new MetadataBuilderConfigurator() { @Override public void configure(MetadataBuilder builder, MetadataSchemaTypesBuilder schemaTypes) { builder.setType(MetadataValueType.TEXT).setMultivalue(false); } }); // Create navigateToAddFolderFormLoggedAs(admin); zeForm.getRichTextField(METADATA1_FINDER).setValue("Nota Bene"); zeForm.getRichTextField(METADATA2_FINDER).setValue("Post Sriptum"); completeRequiredField(); driver.snapshot("before-save"); zeForm.clickSaveButtonAndWaitForPageReload(); assertThatMetadata1().contains("Nota"); assertThatMetadata2().contains("Post"); // Modify navigateToEditFolder(getFolderId()); zeForm.getRichTextField(METADATA1_FINDER).setValue("Bla"); zeForm.getRichTextField(METADATA2_FINDER).setValue("Nota Bene"); zeForm.clickSaveButtonAndWaitForPageReload(); assertThatMetadata1().doesNotContain("Nota Bene").contains("Bla"); assertThatMetadata2().doesNotContain("Post Scriptum").contains("Nota"); // Delete navigateToEditFolder(getFolderId()); zeForm.getRichTextField(METADATA1_FINDER).clearField(); zeForm.getRichTextField(METADATA2_FINDER).clearField(); zeForm.clickSaveButtonAndWaitForPageReload(); assertThatMetadatasNotVisibleInFolderDetails(); hideMetadatasAndAssertThatNotVisible(); } @Test public void givenFieldMetadataStringMultivaluesThenOK() throws Exception { updateDefaultFolderSchema(MetadataInputType.FIELD, new MetadataBuilderConfigurator() { @Override public void configure(MetadataBuilder builder, MetadataSchemaTypesBuilder schemaTypes) { builder.setType(MetadataValueType.STRING).setMultivalue(true); } }); // Create navigateToAddFolderFormLoggedAs(admin); zeForm.getListAddRemoveTextField(METADATA1_FINDER).add("Nota Bene"); zeForm.getListAddRemoveTextField(METADATA2_FINDER).add("Post Sriptum"); completeRequiredField(); zeForm.clickSaveButtonAndWaitForPageReload(); assertThatMetadata1().contains("Nota"); assertThatMetadata2().contains("Post"); // Modify navigateToEditFolder(getFolderId()); zeForm.getListAddRemoveTextField(METADATA1_FINDER).modifyTo(0, "Bla"); zeForm.getListAddRemoveTextField(METADATA2_FINDER).modifyTo(0, "Nota Bene"); zeForm.clickSaveButtonAndWaitForPageReload(); assertThatMetadata1().doesNotContain("Nota Bene").contains("Bla"); assertThatMetadata2().doesNotContain("Post Scriptum").contains("Nota"); // Delete navigateToEditFolder(getFolderId()); deleteMetadata(zeForm.getListAddRemoveTextField(METADATA1_FINDER)); deleteMetadata(zeForm.getListAddRemoveTextField(METADATA2_FINDER)); zeForm.clickSaveButtonAndWaitForPageReload(); assertThatMetadatasNotVisibleInFolderDetails(); hideMetadatasAndAssertThatNotVisible(); } @Test public void givenTextFieldMetadataStringThenOK() throws Exception { updateDefaultFolderSchema(MetadataInputType.FIELD, new MetadataBuilderConfigurator() { @Override public void configure(MetadataBuilder builder, MetadataSchemaTypesBuilder schemaTypes) { builder.setType(MetadataValueType.STRING).setMultivalue(false); } }); // Create navigateToAddFolderFormLoggedAs(admin); zeForm.getTextField(METADATA1_FINDER).setValue("Nota Bene"); zeForm.getTextField(METADATA2_FINDER).setValue("Post Sriptum"); completeRequiredField(); zeForm.clickSaveButtonAndWaitForPageReload(); assertThatMetadata1().contains("Nota"); assertThatMetadata2().contains("Post"); // Modify navigateToEditFolder(getFolderId()); zeForm.getTextField(METADATA1_FINDER).setValue("Bla"); zeForm.getTextField(METADATA2_FINDER).setValue("Nota Bene"); zeForm.clickSaveButtonAndWaitForPageReload(); assertThatMetadata1().doesNotContain("Nota Bene").contains("Bla"); assertThatMetadata2().doesNotContain("Post Scriptum").contains("Nota"); // Delete navigateToEditFolder(getFolderId()); zeForm.getTextField(METADATA1_FINDER).clear(); zeForm.getTextField(METADATA2_FINDER).clear(); zeForm.clickSaveButtonAndWaitForPageReload(); assertThatMetadatasNotVisibleInFolderDetails(); hideMetadatasAndAssertThatNotVisible(); } @Test public void givenTextFieldMetadataDatetimeMultivaluesThenOK() throws Exception { updateDefaultFolderSchema(MetadataInputType.FIELD, new MetadataBuilderConfigurator() { @Override public void configure(MetadataBuilder builder, MetadataSchemaTypesBuilder schemaTypes) { builder.setType(MetadataValueType.DATE_TIME).setMultivalue(true); } }); // Create navigateToAddFolderFormLoggedAs(admin); zeForm.getListAddRemoveDateTimeFieldWebElement(METADATA1_FINDER).add(aDateTime); zeForm.getListAddRemoveDateTimeFieldWebElement(METADATA2_FINDER).add(anOtherDateTime); completeRequiredField(); zeForm.clickSaveButtonAndWaitForPageReload(); assertThatMetadata1().contains("2015"); assertThatMetadata2().contains("2005"); // Modify navigateToEditFolder(getFolderId()); zeForm.getListAddRemoveDateTimeFieldWebElement(METADATA1_FINDER).modify(0, anOtherDateTime); zeForm.getListAddRemoveDateTimeFieldWebElement(METADATA2_FINDER).modify(0, aDateTime); zeForm.clickSaveButtonAndWaitForPageReload(); assertThatMetadata1().doesNotContain("2015").contains("2005"); assertThatMetadata2().doesNotContain("2005").contains("2015"); } @Test public void givenTextFieldMetadataDatetimeThenOK() throws Exception { updateDefaultFolderSchema(MetadataInputType.FIELD, new MetadataBuilderConfigurator() { @Override public void configure(MetadataBuilder builder, MetadataSchemaTypesBuilder schemaTypes) { builder.setType(MetadataValueType.DATE_TIME).setMultivalue(false); } }); // Create navigateToAddFolderFormLoggedAs(admin); zeForm.getDatetimeField(METADATA1_FINDER).setValueWithTime(aDateTime); zeForm.getDatetimeField(METADATA2_FINDER).setValueWithTime(anOtherDateTime); completeRequiredField(); zeForm.clickSaveButtonAndWaitForPageReload(); assertThatMetadata1().contains("2015"); assertThatMetadata2().contains("2005"); // Modify navigateToEditFolder(getFolderId()); zeForm.getDatetimeField(METADATA1_FINDER).setValueWithTime(anOtherDateTime); zeForm.getDatetimeField(METADATA2_FINDER).setValueWithTime(aDateTime); zeForm.clickSaveButtonAndWaitForPageReload(); assertThatMetadata1().doesNotContain("2015").contains("2005"); assertThatMetadata2().doesNotContain("2005").contains("2015"); // Delete navigateToEditFolder(getFolderId()); zeForm.getDatetimeField(METADATA1_FINDER).setEmpty(); zeForm.getDatetimeField(METADATA2_FINDER).setEmpty(); zeForm.clickSaveButtonAndWaitForPageReload(); assertThatMetadatasNotVisibleInFolderDetails(); hideMetadatasAndAssertThatNotVisible(); } @Test public void givenTextFieldMetadataDateMultivaluesThenOK() throws Exception { updateDefaultFolderSchema(MetadataInputType.FIELD, new MetadataBuilderConfigurator() { @Override public void configure(MetadataBuilder builder, MetadataSchemaTypesBuilder schemaTypes) { builder.setType(MetadataValueType.DATE).setMultivalue(true); } }); LocalDate aDate = new LocalDate(2015, 02, 22); LocalDate anOtherDate = new LocalDate(2005, 02, 22); // Create navigateToAddFolderFormLoggedAs(admin); zeForm.getListAddRemoveDateFieldWebElement(METADATA1_FINDER).add(aDate); zeForm.getListAddRemoveDateFieldWebElement(METADATA2_FINDER).add(anOtherDate); completeRequiredField(); zeForm.clickSaveButtonAndWaitForPageReload(); assertThatMetadata1().contains("2015"); assertThatMetadata2().contains("2005"); // Modify navigateToEditFolder(getFolderId()); zeForm.getListAddRemoveDateFieldWebElement(METADATA1_FINDER).modify(0, anOtherDate); zeForm.getListAddRemoveDateFieldWebElement(METADATA2_FINDER).modify(0, aDate); zeForm.clickSaveButtonAndWaitForPageReload(); assertThatMetadata1().doesNotContain("2015").contains("2005"); assertThatMetadata2().doesNotContain("2005").contains("2015"); // Delete navigateToEditFolder(getFolderId()); deleteMetadata(zeForm.getListAddRemoveDateFieldWebElement(METADATA1_FINDER)); deleteMetadata(zeForm.getListAddRemoveDateFieldWebElement(METADATA2_FINDER)); zeForm.clickSaveButtonAndWaitForPageReload(); assertThatMetadatasNotVisibleInFolderDetails(); hideMetadatasAndAssertThatNotVisible(); } @Test public void givenTextFieldMetadataDateThenOK() throws Exception { updateDefaultFolderSchema(MetadataInputType.FIELD, new MetadataBuilderConfigurator() { @Override public void configure(MetadataBuilder builder, MetadataSchemaTypesBuilder schemaTypes) { builder.setType(MetadataValueType.DATE).setMultivalue(false); } }); // Create navigateToAddFolderFormLoggedAs(admin); zeForm.getDateField(METADATA1_FINDER).setValue(aDate); zeForm.getDateField(METADATA2_FINDER).setValue(anOtherDate); completeRequiredField(); zeForm.clickSaveButtonAndWaitForPageReload(); assertThatMetadata1().contains("2015"); assertThatMetadata2().contains("2005"); // Modify navigateToEditFolder(getFolderId()); zeForm.getDateField(METADATA1_FINDER).setValue(anOtherDate); zeForm.getDateField(METADATA2_FINDER).setValue(aDate); zeForm.clickSaveButtonAndWaitForPageReload(); assertThatMetadata1().doesNotContain("2015").contains("2005"); assertThatMetadata2().doesNotContain("2005").contains("2015"); // Delete navigateToEditFolder(getFolderId()); zeForm.getDateField(METADATA1_FINDER).setEmpty(); zeForm.getDateField(METADATA2_FINDER).setEmpty(); zeForm.clickSaveButtonAndWaitForPageReload(); assertThatMetadatasNotVisibleInFolderDetails(); hideMetadatasAndAssertThatNotVisible(); } @Test public void givenCheckboxesMetadataBooleanThenOK() throws Exception { updateDefaultFolderSchema(MetadataInputType.CHECKBOXES, new MetadataBuilderConfigurator() { @Override public void configure(MetadataBuilder builder, MetadataSchemaTypesBuilder schemaTypes) { builder.setType(MetadataValueType.BOOLEAN).setMultivalue(false); } }); createFolderWithCheckboxMetadata(); assertThat(folderDetails().isVisible(METADATA1_FINDER)).isTrue(); assertThat(folderDetails().isVisible(METADATA2_FINDER)).isTrue(); modifyFolderWithCheckboxMetadata(); assertThatMetadata1().contains("Non"); assertThatMetadata2().contains("Non"); hideMetadatasAndAssertThatNotVisible(); } // -------------------------------------------------------------------------------------------------------- // Batch Processing @Test //TODO Maxime : Activer ce test lorsque firefox installé sur le serveur d'intégration @InDevelopmentTest public void givenFieldMetadataDateMultivaluesWithFolderBatchProcessingThenOK() throws Exception { updateDefaultFolderSchema(MetadataInputType.FIELD, new MetadataBuilderConfigurator() { @Override public void configure(MetadataBuilder builder, MetadataSchemaTypesBuilder schemaTypes) { builder.setType(MetadataValueType.DATE).setMultivalue(true); } }); researchResult = advancedResearchThenBatchProcessing(FOLDER); researchResult.setModifyOption(metadata1); researchResult.getListAddRemoveDateFieldWebElement().add(aDate); researchResult.clickSaveButtonAndWaitForPageReload(); researchResult.clickFirstResultAndWaitForPageReload(); assertThatMetadata1().contains("2015"); } @Test //TODO Maxime : Activer ce test lorsque firefox installé sur le serveur d'intégration @InDevelopmentTest public void givenFieldMetadataDateMultivaluesWithContainerBatchProcessingThenOK() throws Exception { updateDefaultContainerSchema(MetadataInputType.FIELD, new MetadataBuilderConfigurator() { @Override public void configure(MetadataBuilder builder, MetadataSchemaTypesBuilder schemaTypes) { builder.setType(MetadataValueType.DATE).setMultivalue(true); } }); researchResult = advancedResearchThenBatchProcessing(CONTAINING); researchResult.setModifyOption(metadata1); researchResult.getListAddRemoveDateFieldWebElement().add(aDate); researchResult.clickSaveButtonAndWaitForPageReload(); researchResult.clickFirstResultAndWaitForPageReload(); assertThatMetadata1InContainer().contains("2015"); } @Test //TODO Maxime : Activer ce test lorsque firefox installé sur le serveur d'intégration @InDevelopmentTest public void givenFieldMetadataDateMultivaluesWithDocumentBatchProcessingThenOK() throws Exception { updateDefaultDocumentSchema(MetadataInputType.FIELD, new MetadataBuilderConfigurator() { @Override public void configure(MetadataBuilder builder, MetadataSchemaTypesBuilder schemaTypes) { builder.setType(MetadataValueType.DATE).setMultivalue(true); } }); researchResult = advancedResearchThenBatchProcessing(DOCUMENT); researchResult.setModifyOption(metadata1); researchResult.getListAddRemoveDateFieldWebElement().add(aDate); researchResult.clickSaveButtonAndWaitForPageReload(); researchResult.clickFirstResultAndWaitForPageReload(); assertThatMetadata1InDocument().contains("2015"); } @Test //TODO Maxime : Activer ce test lorsque firefox installé sur le serveur d'intégration @InDevelopmentTest public void givenFieldMetadataDateWithFolderBatchProcessingThenOK() throws Exception { updateDefaultFolderSchema(MetadataInputType.FIELD, new MetadataBuilderConfigurator() { @Override public void configure(MetadataBuilder builder, MetadataSchemaTypesBuilder schemaTypes) { builder.setType(MetadataValueType.DATE).setMultivalue(false); } }); researchResult = advancedResearchThenBatchProcessing(FOLDER); researchResult.setModifyOption(metadata1); researchResult.getDateField().setValue(aDate); researchResult.clickSaveButtonAndWaitForPageReload(); researchResult.clickFirstResultAndWaitForPageReload(); assertThatMetadata1().contains("2015"); } @Test //TODO Maxime : Activer ce test lorsque firefox installé sur le serveur d'intégration @InDevelopmentTest public void givenFieldMetadataDateWithContainerBatchProcessingThenOK() throws Exception { updateDefaultContainerSchema(MetadataInputType.FIELD, new MetadataBuilderConfigurator() { @Override public void configure(MetadataBuilder builder, MetadataSchemaTypesBuilder schemaTypes) { builder.setType(MetadataValueType.DATE).setMultivalue(false); } }); researchResult = advancedResearchThenBatchProcessing(CONTAINING); researchResult.setModifyOption(metadata1); researchResult.getDateField().setValue(aDate); researchResult.clickSaveButtonAndWaitForPageReload(); researchResult.clickFirstResultAndWaitForPageReload(); assertThatMetadata1InContainer().contains("2015"); } @Test //TODO Maxime : Activer ce test lorsque firefox installé sur le serveur d'intégration @InDevelopmentTest public void givenFieldMetadataDateWithDocumentBatchProcessingThenOK() throws Exception { updateDefaultDocumentSchema(MetadataInputType.FIELD, new MetadataBuilderConfigurator() { @Override public void configure(MetadataBuilder builder, MetadataSchemaTypesBuilder schemaTypes) { builder.setType(MetadataValueType.DATE).setMultivalue(false); } }); researchResult = advancedResearchThenBatchProcessing(DOCUMENT); researchResult.setModifyOption(metadata1); researchResult.getDateField().setValue(aDate); researchResult.clickSaveButtonAndWaitForPageReload(); researchResult.clickFirstResultAndWaitForPageReload(); assertThatMetadata1InDocument().contains("2015"); } @Test //TODO Maxime : Activer ce test lorsque firefox installé sur le serveur d'intégration @InDevelopmentTest public void givenFieldMetadataDateTimeWithFolderBatchProcessingThenOK() throws Exception { updateDefaultFolderSchema(MetadataInputType.FIELD, new MetadataBuilderConfigurator() { @Override public void configure(MetadataBuilder builder, MetadataSchemaTypesBuilder schemaTypes) { builder.setType(MetadataValueType.DATE_TIME).setMultivalue(false); } }); researchResult = advancedResearchThenBatchProcessing(FOLDER); researchResult.setModifyOption(metadata1); researchResult.getDatetimeField().setValueWithTime(aDateTime); researchResult.clickSaveButtonAndWaitForPageReload(); researchResult.clickFirstResultAndWaitForPageReload(); assertThatMetadata1().contains("2015"); } @Test //TODO Maxime : Activer ce test lorsque firefox installé sur le serveur d'intégration @InDevelopmentTest public void givenFieldMetadataDateTimeWithContainerBatchProcessingThenOK() throws Exception { updateDefaultContainerSchema(MetadataInputType.FIELD, new MetadataBuilderConfigurator() { @Override public void configure(MetadataBuilder builder, MetadataSchemaTypesBuilder schemaTypes) { builder.setType(MetadataValueType.DATE_TIME).setMultivalue(false); } }); researchResult = advancedResearchThenBatchProcessing(CONTAINING); researchResult.setModifyOption(metadata1); researchResult.getDatetimeField().setValueWithTime(aDateTime); researchResult.clickSaveButtonAndWaitForPageReload(); researchResult.clickFirstResultAndWaitForPageReload(); assertThatMetadata1InContainer().contains("2015"); } @Test //TODO Maxime : Activer ce test lorsque firefox installé sur le serveur d'intégration @InDevelopmentTest public void givenFieldMetadataDateTimeWithDocumentBatchProcessingThenOK() throws Exception { updateDefaultDocumentSchema(MetadataInputType.FIELD, new MetadataBuilderConfigurator() { @Override public void configure(MetadataBuilder builder, MetadataSchemaTypesBuilder schemaTypes) { builder.setType(MetadataValueType.DATE_TIME).setMultivalue(false); } }); researchResult = advancedResearchThenBatchProcessing(DOCUMENT); researchResult.setModifyOption(metadata1); researchResult.getDatetimeField().setValueWithTime(aDateTime); researchResult.clickSaveButtonAndWaitForPageReload(); researchResult.clickFirstResultAndWaitForPageReload(); assertThatMetadata1InDocument().contains("2015"); } @Test //TODO Maxime : Activer ce test lorsque firefox installé sur le serveur d'intégration @InDevelopmentTest public void givenFieldMetadataDateTimeMultivaluesWithFolderBatchProcessingThenOK() throws Exception { updateDefaultFolderSchema(MetadataInputType.FIELD, new MetadataBuilderConfigurator() { @Override public void configure(MetadataBuilder builder, MetadataSchemaTypesBuilder schemaTypes) { builder.setType(MetadataValueType.DATE_TIME).setMultivalue(true); } }); researchResult = advancedResearchThenBatchProcessing(FOLDER); researchResult.setModifyOption(metadata1); researchResult.getListAddRemoveDateTimeFieldWebElement().add(aDateTime); researchResult.clickSaveButtonAndWaitForPageReload(); researchResult.clickFirstResultAndWaitForPageReload(); assertThatMetadata1().contains("2015"); } @Test //TODO Maxime : Activer ce test lorsque firefox installé sur le serveur d'intégration @InDevelopmentTest public void givenFieldMetadataDateTimeMultivaluesWithContainerBatchProcessingThenOK() throws Exception { updateDefaultContainerSchema(MetadataInputType.FIELD, new MetadataBuilderConfigurator() { @Override public void configure(MetadataBuilder builder, MetadataSchemaTypesBuilder schemaTypes) { builder.setType(MetadataValueType.DATE_TIME).setMultivalue(true); } }); researchResult = advancedResearchThenBatchProcessing(CONTAINING); researchResult.setModifyOption(metadata1); researchResult.getListAddRemoveDateTimeFieldWebElement().add(aDateTime); researchResult.clickSaveButtonAndWaitForPageReload(); researchResult.clickFirstResultAndWaitForPageReload(); assertThatMetadata1InContainer().contains("2015"); } @Test //TODO Maxime : Activer ce test lorsque firefox installé sur le serveur d'intégration @InDevelopmentTest public void givenFieldMetadataDateTimeMultivaluesWithDocumentBatchProcessingThenOK() throws Exception { updateDefaultDocumentSchema(MetadataInputType.FIELD, new MetadataBuilderConfigurator() { @Override public void configure(MetadataBuilder builder, MetadataSchemaTypesBuilder schemaTypes) { builder.setType(MetadataValueType.DATE_TIME).setMultivalue(true); } }); researchResult = advancedResearchThenBatchProcessing(DOCUMENT); researchResult.setModifyOption(metadata1); researchResult.getListAddRemoveDateTimeFieldWebElement().add(aDateTime); researchResult.clickSaveButtonAndWaitForPageReload(); researchResult.clickFirstResultAndWaitForPageReload(); assertThatMetadata1InDocument().contains("2015"); } @Test //TODO Maxime : Activer ce test lorsque firefox installé sur le serveur d'intégration @InDevelopmentTest public void givenFieldMetadataStringWithFolderBatchProcessingThenOK() throws Exception { updateDefaultFolderSchema(MetadataInputType.FIELD, new MetadataBuilderConfigurator() { @Override public void configure(MetadataBuilder builder, MetadataSchemaTypesBuilder schemaTypes) { builder.setType(MetadataValueType.STRING).setMultivalue(false); } }); researchResult = advancedResearchThenBatchProcessing(FOLDER); researchResult.setModifyOption(metadata1); researchResult.getTextField().setValue("a Value"); researchResult.clickSaveButtonAndWaitForPageReload(); researchResult.clickFirstResultAndWaitForPageReload(); assertThatMetadata1().contains("a Value"); } @Test //TODO Maxime : Activer ce test lorsque firefox installé sur le serveur d'intégration @InDevelopmentTest public void givenFieldMetadataStringWithContainerBatchProcessingThenOK() throws Exception { updateDefaultContainerSchema(MetadataInputType.FIELD, new MetadataBuilderConfigurator() { @Override public void configure(MetadataBuilder builder, MetadataSchemaTypesBuilder schemaTypes) { builder.setType(MetadataValueType.STRING).setMultivalue(false); } }); researchResult = advancedResearchThenBatchProcessing(CONTAINING); researchResult.setModifyOption(metadata1); researchResult.getTextField().setValue("a Value"); researchResult.clickSaveButtonAndWaitForPageReload(); researchResult.clickFirstResultAndWaitForPageReload(); assertThatMetadata1InContainer().contains("a Value"); } @Test //TODO Maxime : Activer ce test lorsque firefox installé sur le serveur d'intégration @InDevelopmentTest public void givenFieldMetadataStringWithDocumentBatchProcessingThenOK() throws Exception { updateDefaultDocumentSchema(MetadataInputType.FIELD, new MetadataBuilderConfigurator() { @Override public void configure(MetadataBuilder builder, MetadataSchemaTypesBuilder schemaTypes) { builder.setType(MetadataValueType.STRING).setMultivalue(false); } }); researchResult = advancedResearchThenBatchProcessing(DOCUMENT); researchResult.setModifyOption(metadata1); researchResult.getTextField().setValue("a Value"); researchResult.clickSaveButtonAndWaitForPageReload(); researchResult.clickFirstResultAndWaitForPageReload(); assertThatMetadata1InDocument().contains("a Value"); } @Test //TODO Maxime : Activer ce test lorsque firefox installé sur le serveur d'intégration @InDevelopmentTest public void givenFieldMetadataStringMultivaluesWithFolderBatchProcessingThenOK() throws Exception { updateDefaultFolderSchema(MetadataInputType.FIELD, new MetadataBuilderConfigurator() { @Override public void configure(MetadataBuilder builder, MetadataSchemaTypesBuilder schemaTypes) { builder.setType(MetadataValueType.STRING).setMultivalue(true); } }); researchResult = advancedResearchThenBatchProcessing(FOLDER); researchResult.setModifyOption(metadata1); researchResult.getListAddRemoveTextFieldWebElement().add("a Value"); researchResult.clickSaveButtonAndWaitForPageReload(); researchResult.clickFirstResultAndWaitForPageReload(); assertThatMetadata1().contains("a Value"); } @Test //TODO Maxime : Activer ce test lorsque firefox installé sur le serveur d'intégration @InDevelopmentTest public void givenFieldMetadataStringMultivaluesWithContainerBatchProcessingThenOK() throws Exception { updateDefaultContainerSchema(MetadataInputType.FIELD, new MetadataBuilderConfigurator() { @Override public void configure(MetadataBuilder builder, MetadataSchemaTypesBuilder schemaTypes) { builder.setType(MetadataValueType.STRING).setMultivalue(true); } }); researchResult = advancedResearchThenBatchProcessing(CONTAINING); researchResult.setModifyOption(metadata1); researchResult.getListAddRemoveTextFieldWebElement().add("a Value"); researchResult.clickSaveButtonAndWaitForPageReload(); researchResult.clickFirstResultAndWaitForPageReload(); assertThatMetadata1InContainer().contains("a Value"); } @Test //TODO Maxime : Activer ce test lorsque firefox installé sur le serveur d'intégration @InDevelopmentTest public void givenFieldMetadataStringMultivaluesWithDocumentBatchProcessingThenOK() throws Exception { updateDefaultDocumentSchema(MetadataInputType.FIELD, new MetadataBuilderConfigurator() { @Override public void configure(MetadataBuilder builder, MetadataSchemaTypesBuilder schemaTypes) { builder.setType(MetadataValueType.STRING).setMultivalue(true); } }); researchResult = advancedResearchThenBatchProcessing(DOCUMENT); researchResult.setModifyOption(metadata1); researchResult.getListAddRemoveTextFieldWebElement().add("a Value"); researchResult.clickSaveButtonAndWaitForPageReload(); researchResult.clickFirstResultAndWaitForPageReload(); assertThatMetadata1InDocument().contains("a Value"); } @Test //TODO Maxime : Activer ce test lorsque firefox installé sur le serveur d'intégration @InDevelopmentTest public void givenTextAreaMetadataTextWithFolderBatchProcessingThenOK() throws Exception { updateDefaultFolderSchema(MetadataInputType.FIELD, new MetadataBuilderConfigurator() { @Override public void configure(MetadataBuilder builder, MetadataSchemaTypesBuilder schemaTypes) { builder.setType(MetadataValueType.TEXT).setMultivalue(false); } }); researchResult = advancedResearchThenBatchProcessing(FOLDER); researchResult.setModifyOption(metadata1); researchResult.getTextAreaField().setValue("a Value"); researchResult.clickSaveButtonAndWaitForPageReload(); researchResult.clickFirstResultAndWaitForPageReload(); assertThatMetadata1().contains("a Value"); } @Test //TODO Maxime : Activer ce test lorsque firefox installé sur le serveur d'intégration @InDevelopmentTest public void givenTextAreaMetadataTextWithContainerBatchProcessingThenOK() throws Exception { updateDefaultContainerSchema(MetadataInputType.TEXTAREA, new MetadataBuilderConfigurator() { @Override public void configure(MetadataBuilder builder, MetadataSchemaTypesBuilder schemaTypes) { builder.setType(MetadataValueType.TEXT).setMultivalue(false); } }); researchResult = advancedResearchThenBatchProcessing(CONTAINING); researchResult.setModifyOption(metadata1); researchResult.getTextAreaField().setValue("a Value"); researchResult.clickSaveButtonAndWaitForPageReload(); researchResult.clickFirstResultAndWaitForPageReload(); assertThatMetadata1InContainer().contains("a Value"); } @Test //TODO Maxime : Activer ce test lorsque firefox installé sur le serveur d'intégration @InDevelopmentTest public void givenTextAreaMetadataTextWithDocumentBatchProcessingThenOK() throws Exception { updateDefaultDocumentSchema(MetadataInputType.FIELD, new MetadataBuilderConfigurator() { @Override public void configure(MetadataBuilder builder, MetadataSchemaTypesBuilder schemaTypes) { builder.setType(MetadataValueType.TEXT).setMultivalue(false); } }); researchResult = advancedResearchThenBatchProcessing(DOCUMENT); researchResult.setModifyOption(metadata1); researchResult.getTextAreaField().setValue("a Value"); researchResult.clickSaveButtonAndWaitForPageReload(); researchResult.clickFirstResultAndWaitForPageReload(); assertThatMetadata1InDocument().contains("a Value"); } @Test //TODO Maxime : Activer ce test lorsque firefox installé sur le serveur d'intégration @InDevelopmentTest public void givenRichTextMetadataTextWithFolderBatchProcessingThenOK() throws Exception { updateDefaultFolderSchema(MetadataInputType.RICHTEXT, new MetadataBuilderConfigurator() { @Override public void configure(MetadataBuilder builder, MetadataSchemaTypesBuilder schemaTypes) { builder.setType(MetadataValueType.TEXT).setMultivalue(false); } }); researchResult = advancedResearchThenBatchProcessing(FOLDER); researchResult.setModifyOption(metadata1); researchResult.getRichTextField().setValue("a Value"); researchResult.clickSaveButtonAndWaitForPageReload(); researchResult.clickFirstResultAndWaitForPageReload(); assertThatMetadata1().contains("a Value"); } @Test //TODO Maxime : Activer ce test lorsque firefox installé sur le serveur d'intégration @InDevelopmentTest public void givenRichTextMetadataTextWithContainerBatchProcessingThenOK() throws Exception { updateDefaultContainerSchema(MetadataInputType.RICHTEXT, new MetadataBuilderConfigurator() { @Override public void configure(MetadataBuilder builder, MetadataSchemaTypesBuilder schemaTypes) { builder.setType(MetadataValueType.TEXT).setMultivalue(false); } }); researchResult = advancedResearchThenBatchProcessing(CONTAINING); researchResult.setModifyOption(metadata1); researchResult.getRichTextField().setValue("a Value"); researchResult.clickSaveButtonAndWaitForPageReload(); researchResult.clickFirstResultAndWaitForPageReload(); assertThatMetadata1InContainer().contains("a Value"); } @Test //TODO Maxime : Activer ce test lorsque firefox installé sur le serveur d'intégration @InDevelopmentTest public void givenRichTextMetadataTextWithDocumentBatchProcessingThenOK() throws Exception { updateDefaultDocumentSchema(MetadataInputType.RICHTEXT, new MetadataBuilderConfigurator() { @Override public void configure(MetadataBuilder builder, MetadataSchemaTypesBuilder schemaTypes) { builder.setType(MetadataValueType.TEXT).setMultivalue(false); } }); researchResult = advancedResearchThenBatchProcessing(DOCUMENT); researchResult.setModifyOption(metadata1); researchResult.getRichTextField().setValue("a Value"); researchResult.clickSaveButtonAndWaitForPageReload(); researchResult.clickFirstResultAndWaitForPageReload(); assertThatMetadata1InDocument().contains("a Value"); } @Test //TODO Maxime : Activer ce test lorsque firefox installé sur le serveur d'intégration @InDevelopmentTest public void givenFieldMetadataTextAreaMultivaluesWithFolderBatchProcessingThenOK() throws Exception { updateDefaultFolderSchema(MetadataInputType.TEXTAREA, new MetadataBuilderConfigurator() { @Override public void configure(MetadataBuilder builder, MetadataSchemaTypesBuilder schemaTypes) { builder.setType(MetadataValueType.TEXT).setMultivalue(true); } }); researchResult = advancedResearchThenBatchProcessing(FOLDER); researchResult.setModifyOption(metadata1); researchResult.getListAddRemoveTextFieldWebElement().add("a Value"); researchResult.clickSaveButtonAndWaitForPageReload(); researchResult.clickFirstResultAndWaitForPageReload(); assertThatMetadata1().contains("a Value"); } @Test //TODO Maxime : Activer ce test lorsque firefox installé sur le serveur d'intégration @InDevelopmentTest public void givenFieldMetadataTextAreaMultivaluesWithContainerBatchProcessingThenOK() throws Exception { updateDefaultContainerSchema(MetadataInputType.TEXTAREA, new MetadataBuilderConfigurator() { @Override public void configure(MetadataBuilder builder, MetadataSchemaTypesBuilder schemaTypes) { builder.setType(MetadataValueType.TEXT).setMultivalue(true); } }); researchResult = advancedResearchThenBatchProcessing(CONTAINING); researchResult.setModifyOption(metadata1); researchResult.getListAddRemoveTextFieldWebElement().add("a Value"); researchResult.clickSaveButtonAndWaitForPageReload(); researchResult.clickFirstResultAndWaitForPageReload(); assertThatMetadata1InContainer().contains("a Value"); } @Test //TODO Maxime : Activer ce test lorsque firefox installé sur le serveur d'intégration @InDevelopmentTest public void givenFieldMetadataTextAreaMultivaluesWithDocumentBatchProcessingThenOK() throws Exception { updateDefaultDocumentSchema(MetadataInputType.TEXTAREA, new MetadataBuilderConfigurator() { @Override public void configure(MetadataBuilder builder, MetadataSchemaTypesBuilder schemaTypes) { builder.setType(MetadataValueType.TEXT).setMultivalue(true); } }); researchResult = advancedResearchThenBatchProcessing(DOCUMENT); researchResult.setModifyOption(metadata1); researchResult.getListAddRemoveTextFieldWebElement().add("a Value"); researchResult.clickSaveButtonAndWaitForPageReload(); researchResult.clickFirstResultAndWaitForPageReload(); assertThatMetadata1InDocument().contains("a Value"); } @Test //TODO Maxime : Activer ce test lorsque firefox installé sur le serveur d'intégration @InDevelopmentTest public void givenRichTextMetadataTextMultivaluesWithFolderBatchProcessingThenOK() throws Exception { updateDefaultFolderSchema(MetadataInputType.RICHTEXT, new MetadataBuilderConfigurator() { @Override public void configure(MetadataBuilder builder, MetadataSchemaTypesBuilder schemaTypes) { builder.setType(MetadataValueType.TEXT).setMultivalue(true); } }); researchResult = advancedResearchThenBatchProcessing(FOLDER); researchResult.setModifyOption(metadata1); researchResult.getListAddRemoveRichTextFieldWebElement().add("a Value"); researchResult.clickSaveButtonAndWaitForPageReload(); researchResult.clickFirstResultAndWaitForPageReload(); assertThatMetadata1().contains("a Value"); } @Test //TODO Maxime : Activer ce test lorsque firefox installé sur le serveur d'intégration @InDevelopmentTest public void givenRichTextMetadataTextMultivaluesWithContainerBatchProcessingThenOK() throws Exception { updateDefaultContainerSchema(MetadataInputType.RICHTEXT, new MetadataBuilderConfigurator() { @Override public void configure(MetadataBuilder builder, MetadataSchemaTypesBuilder schemaTypes) { builder.setType(MetadataValueType.TEXT).setMultivalue(true); } }); researchResult = advancedResearchThenBatchProcessing(CONTAINING); researchResult.setModifyOption(metadata1); researchResult.getListAddRemoveRichTextFieldWebElement().add("a Value"); researchResult.clickSaveButtonAndWaitForPageReload(); researchResult.clickFirstResultAndWaitForPageReload(); assertThatMetadata1InContainer().contains("a Value"); } @Test //TODO Maxime : Activer ce test lorsque firefox installé sur le serveur d'intégration @InDevelopmentTest public void givenRichTextMetadataTextMultivaluesWithDocumentBatchProcessingThenOK() throws Exception { updateDefaultDocumentSchema(MetadataInputType.RICHTEXT, new MetadataBuilderConfigurator() { @Override public void configure(MetadataBuilder builder, MetadataSchemaTypesBuilder schemaTypes) { builder.setType(MetadataValueType.TEXT).setMultivalue(true); } }); researchResult = advancedResearchThenBatchProcessing(DOCUMENT); researchResult.setModifyOption(metadata1); researchResult.getListAddRemoveRichTextFieldWebElement().add("a Value"); researchResult.clickSaveButtonAndWaitForPageReload(); researchResult.clickFirstResultAndWaitForPageReload(); assertThatMetadata1InDocument().contains("a Value"); } @Test //TODO Maxime : Activer ce test lorsque firefox installé sur le serveur d'intégration @InDevelopmentTest public void givenFieldMetadataNumberWithFolderBatchProcessingThenOK() throws Exception { updateDefaultFolderSchema(MetadataInputType.FIELD, new MetadataBuilderConfigurator() { @Override public void configure(MetadataBuilder builder, MetadataSchemaTypesBuilder schemaTypes) { builder.setType(MetadataValueType.NUMBER).setMultivalue(false); } }); researchResult = advancedResearchThenBatchProcessing(FOLDER); researchResult.setModifyOption(metadata1); researchResult.getTextField().setValue("3,14"); researchResult.clickSaveButtonAndWaitForPageReload(); researchResult.clickFirstResultAndWaitForPageReload(); assertThatMetadata1().contains("3.14"); } @Test //TODO Maxime : Activer ce test lorsque firefox installé sur le serveur d'intégration @InDevelopmentTest public void givenFieldMetadataNumberWithContainerBatchProcessingThenOK() throws Exception { updateDefaultContainerSchema(MetadataInputType.FIELD, new MetadataBuilderConfigurator() { @Override public void configure(MetadataBuilder builder, MetadataSchemaTypesBuilder schemaTypes) { builder.setType(MetadataValueType.NUMBER).setMultivalue(false); } }); researchResult = advancedResearchThenBatchProcessing(CONTAINING); researchResult.setModifyOption(metadata1); researchResult.getTextField().setValue("3,14"); waitUntilICloseTheBrowsers(); // researchResult.clickSaveButtonAndWaitForPageReload(); // researchResult.clickFirstResultAndWaitForPageReload(); // assertThatMetadata1InContainer().contains("3.14"); } @Test //TODO Maxime : Activer ce test lorsque firefox installé sur le serveur d'intégration @InDevelopmentTest public void givenFieldMetadataNumberWithDocumentBatchProcessingThenOK() throws Exception { updateDefaultDocumentSchema(MetadataInputType.FIELD, new MetadataBuilderConfigurator() { @Override public void configure(MetadataBuilder builder, MetadataSchemaTypesBuilder schemaTypes) { builder.setType(MetadataValueType.NUMBER).setMultivalue(false); } }); researchResult = advancedResearchThenBatchProcessing(DOCUMENT); researchResult.setModifyOption(metadata1); researchResult.getTextField().setValue("3,14"); researchResult.clickSaveButtonAndWaitForPageReload(); researchResult.clickFirstResultAndWaitForPageReload(); assertThatMetadata1InDocument().contains("3.14"); } @Test //TODO Maxime : Activer ce test lorsque firefox installé sur le serveur d'intégration @InDevelopmentTest public void givenFieldMetadataNumberMultivaluesWithFolderBatchProcessingThenOK() throws Exception { updateDefaultFolderSchema(MetadataInputType.FIELD, new MetadataBuilderConfigurator() { @Override public void configure(MetadataBuilder builder, MetadataSchemaTypesBuilder schemaTypes) { builder.setType(MetadataValueType.NUMBER).setMultivalue(true); } }); researchResult = advancedResearchThenBatchProcessing(FOLDER); researchResult.setModifyOption(metadata1); researchResult.getListAddRemoveTextFieldWebElement().add("3.14"); researchResult.clickSaveButtonAndWaitForPageReload(); researchResult.clickFirstResultAndWaitForPageReload(); assertThatMetadata1().contains("3.14"); } @Test //TODO Maxime : Activer ce test lorsque firefox installé sur le serveur d'intégration @InDevelopmentTest public void givenFieldMetadataNumberMultivaluesWithContainerBatchProcessingThenOK() throws Exception { updateDefaultContainerSchema(MetadataInputType.FIELD, new MetadataBuilderConfigurator() { @Override public void configure(MetadataBuilder builder, MetadataSchemaTypesBuilder schemaTypes) { builder.setType(MetadataValueType.NUMBER).setMultivalue(true); } }); researchResult = advancedResearchThenBatchProcessing(CONTAINING); researchResult.setModifyOption(metadata1); researchResult.getListAddRemoveTextFieldWebElement().add("3.14"); researchResult.clickSaveButtonAndWaitForPageReload(); researchResult.clickFirstResultAndWaitForPageReload(); assertThatMetadata1InContainer().contains("3.14"); } @Test //TODO Maxime : Activer ce test lorsque firefox installé sur le serveur d'intégration @InDevelopmentTest public void givenFieldMetadataNumberMultivaluesWithDocumentBatchProcessingThenOK() throws Exception { updateDefaultDocumentSchema(MetadataInputType.FIELD, new MetadataBuilderConfigurator() { @Override public void configure(MetadataBuilder builder, MetadataSchemaTypesBuilder schemaTypes) { builder.setType(MetadataValueType.NUMBER).setMultivalue(true); } }); researchResult = advancedResearchThenBatchProcessing(DOCUMENT); researchResult.setModifyOption(metadata1); researchResult.getListAddRemoveTextFieldWebElement().add("3.14"); researchResult.clickSaveButtonAndWaitForPageReload(); researchResult.clickFirstResultAndWaitForPageReload(); assertThatMetadata1InDocument().contains("3.14"); } @Test //TODO Maxime : Activer ce test lorsque firefox installé sur le serveur d'intégration @InDevelopmentTest public void givenDropDownMetadataReferencingATaxonomyWithFolderBatchProcessingThenOK() throws Exception { updateDefaultFolderSchema(MetadataInputType.DROPDOWN, new MetadataBuilderConfigurator() { @Override public void configure(MetadataBuilder builder, MetadataSchemaTypesBuilder schemaTypes) { MetadataSchemaTypeBuilder taxonomySchemaType = schemaTypes.getSchemaType(zeTaxonomySchemaTypeCode); builder.defineReferencesTo(taxonomySchemaType).setMultivalue(false); } }); researchResult = advancedResearchThenBatchProcessing(FOLDER); researchResult.setModifyOption(metadata1); researchResult.getDropDown(METADATA1_FINDER).selectItemContainingText("Daily scrum"); researchResult.clickSaveButtonAndWaitForPageReload(); researchResult.clickFirstResultAndWaitForPageReload(); assertThatMetadata1().contains("Daily scrum"); } @Test //TODO Maxime : Activer ce test lorsque firefox installé sur le serveur d'intégration @InDevelopmentTest public void givenDropDownMetadataReferencingATaxonomyWithContainerBatchProcessingThenOK() throws Exception { updateDefaultContainerSchema(MetadataInputType.DROPDOWN, new MetadataBuilderConfigurator() { @Override public void configure(MetadataBuilder builder, MetadataSchemaTypesBuilder schemaTypes) { MetadataSchemaTypeBuilder taxonomySchemaType = schemaTypes.getSchemaType(zeTaxonomySchemaTypeCode); builder.defineReferencesTo(taxonomySchemaType).setMultivalue(false); } }); researchResult = advancedResearchThenBatchProcessing(CONTAINING); researchResult.setModifyOption(metadata1); researchResult.getDropDown(METADATA1_FINDER).selectItemContainingText("Daily scrum"); researchResult.clickSaveButtonAndWaitForPageReload(); researchResult.clickFirstResultAndWaitForPageReload(); assertThatMetadata1InContainer().contains("Daily scrum"); } @Test //TODO Maxime : Activer ce test lorsque firefox installé sur le serveur d'intégration @InDevelopmentTest public void givenDropDownMetadataReferencingATaxonomyWithDocumentBatchProcessingThenOK() throws Exception { updateDefaultDocumentSchema(MetadataInputType.DROPDOWN, new MetadataBuilderConfigurator() { @Override public void configure(MetadataBuilder builder, MetadataSchemaTypesBuilder schemaTypes) { MetadataSchemaTypeBuilder taxonomySchemaType = schemaTypes.getSchemaType(zeTaxonomySchemaTypeCode); builder.defineReferencesTo(taxonomySchemaType).setMultivalue(false); } }); researchResult = advancedResearchThenBatchProcessing(DOCUMENT); researchResult.setModifyOption(metadata1); researchResult.getDropDown(METADATA1_FINDER).selectItemContainingText("Daily scrum"); researchResult.clickSaveButtonAndWaitForPageReload(); researchResult.clickFirstResultAndWaitForPageReload(); assertThatMetadata1InDocument().contains("Daily scrum"); } @Test //TODO Maxime : Activer ce test lorsque firefox installé sur le serveur d'intégration @InDevelopmentTest public void givenLookupMetadataReferencingATaxonomyWithFolderBatchProcessingThenOK() throws Exception { updateDefaultFolderSchema(MetadataInputType.LOOKUP, new MetadataBuilderConfigurator() { @Override public void configure(MetadataBuilder builder, MetadataSchemaTypesBuilder schemaTypes) { MetadataSchemaTypeBuilder taxonomySchemaType = schemaTypes.getSchemaType(zeTaxonomySchemaTypeCode); builder.defineReferencesTo(taxonomySchemaType).setMultivalue(false); } }); researchResult = advancedResearchThenBatchProcessing(FOLDER); researchResult.setModifyOption(metadata1); researchResult.getLookupField(METADATA1_FINDER).typeAndSelectFirst("Daily scrum"); researchResult.clickSaveButtonAndWaitForPageReload(); researchResult.clickFirstResultAndWaitForPageReload(); assertThatMetadata1().contains("Daily scrum"); } @Test //TODO Maxime : Activer ce test lorsque firefox installé sur le serveur d'intégration @InDevelopmentTest public void givenLookupMetadataReferencingATaxonomyWithContainerBatchProcessingThenOK() throws Exception { updateDefaultContainerSchema(MetadataInputType.LOOKUP, new MetadataBuilderConfigurator() { @Override public void configure(MetadataBuilder builder, MetadataSchemaTypesBuilder schemaTypes) { MetadataSchemaTypeBuilder taxonomySchemaType = schemaTypes.getSchemaType(zeTaxonomySchemaTypeCode); builder.defineReferencesTo(taxonomySchemaType).setMultivalue(false); } }); researchResult = advancedResearchThenBatchProcessing(CONTAINING); researchResult.setModifyOption(metadata1); researchResult.getLookupField(METADATA1_CONTAINER_FINDER).typeAndSelectFirst("Daily scrum"); researchResult.clickSaveButtonAndWaitForPageReload(); researchResult.clickFirstResultAndWaitForPageReload(); assertThatMetadata1InContainer().contains("Daily scrum"); } @Test //TODO Maxime : Activer ce test lorsque firefox installé sur le serveur d'intégration @InDevelopmentTest public void givenLookupMetadataReferencingATaxonomyWithDocumentBatchProcessingThenOK() throws Exception { updateDefaultDocumentSchema(MetadataInputType.LOOKUP, new MetadataBuilderConfigurator() { @Override public void configure(MetadataBuilder builder, MetadataSchemaTypesBuilder schemaTypes) { MetadataSchemaTypeBuilder taxonomySchemaType = schemaTypes.getSchemaType(zeTaxonomySchemaTypeCode); builder.defineReferencesTo(taxonomySchemaType).setMultivalue(false); } }); researchResult = advancedResearchThenBatchProcessing(DOCUMENT); researchResult.setModifyOption(metadata1); researchResult.getLookupField(METADATA1_DOCUMENT_FINDER).typeAndSelectFirst("Daily scrum"); researchResult.clickSaveButtonAndWaitForPageReload(); researchResult.clickFirstResultAndWaitForPageReload(); assertThatMetadata1InDocument().contains("Daily scrum"); } @Test //TODO Maxime : Activer ce test lorsque firefox installé sur le serveur d'intégration @InDevelopmentTest public void givenDropDownMetadataReferencingATaxonomyMultivaluesWithFolderBatchProcessingThenOK() throws Exception { updateDefaultFolderSchema(MetadataInputType.DROPDOWN, new MetadataBuilderConfigurator() { @Override public void configure(MetadataBuilder builder, MetadataSchemaTypesBuilder schemaTypes) { MetadataSchemaTypeBuilder taxonomySchemaType = schemaTypes.getSchemaType(zeTaxonomySchemaTypeCode); builder.defineReferencesTo(taxonomySchemaType).setMultivalue(true); } }); researchResult = advancedResearchThenBatchProcessing(FOLDER); researchResult.setModifyOption(metadata1); researchResult.getListAddRemoveDropDownWebElement().add("Daily scrum"); researchResult.clickSaveButtonAndWaitForPageReload(); researchResult.clickFirstResultAndWaitForPageReload(); assertThatMetadata1().contains("Daily scrum"); } @Test //TODO Maxime : Activer ce test lorsque firefox installé sur le serveur d'intégration @InDevelopmentTest public void givenDropDownMetadataReferencingATaxonomyMultivaluesWithContainerBatchProcessingThenOK() throws Exception { updateDefaultContainerSchema(MetadataInputType.DROPDOWN, new MetadataBuilderConfigurator() { @Override public void configure(MetadataBuilder builder, MetadataSchemaTypesBuilder schemaTypes) { MetadataSchemaTypeBuilder taxonomySchemaType = schemaTypes.getSchemaType(zeTaxonomySchemaTypeCode); builder.defineReferencesTo(taxonomySchemaType).setMultivalue(true); } }); researchResult = advancedResearchThenBatchProcessing(CONTAINING); researchResult.setModifyOption(metadata1); researchResult.getListAddRemoveDropDownWebElement().add("Daily scrum"); researchResult.clickSaveButtonAndWaitForPageReload(); researchResult.clickFirstResultAndWaitForPageReload(); assertThatMetadata1InContainer().contains("Daily scrum"); } @Test //TODO Maxime : Activer ce test lorsque firefox installé sur le serveur d'intégration @InDevelopmentTest public void givenDropDownMetadataReferencingATaxonomyMultivaluesWithDocumentBatchProcessingThenOK() throws Exception { updateDefaultDocumentSchema(MetadataInputType.DROPDOWN, new MetadataBuilderConfigurator() { @Override public void configure(MetadataBuilder builder, MetadataSchemaTypesBuilder schemaTypes) { MetadataSchemaTypeBuilder taxonomySchemaType = schemaTypes.getSchemaType(zeTaxonomySchemaTypeCode); builder.defineReferencesTo(taxonomySchemaType).setMultivalue(true); } }); researchResult = advancedResearchThenBatchProcessing(DOCUMENT); researchResult.setModifyOption(metadata1); researchResult.getListAddRemoveDropDownWebElement().add("Daily scrum"); researchResult.clickSaveButtonAndWaitForPageReload(); researchResult.clickFirstResultAndWaitForPageReload(); assertThatMetadata1InDocument().contains("Daily scrum"); } @Test //TODO Maxime : Activer ce test lorsque firefox installé sur le serveur d'intégration @InDevelopmentTest public void givenCheckboxMetadataReferencingATaxonomyMultivaluesWithFolderBatchProcessingThenOK() throws Exception { updateDefaultFolderSchema(MetadataInputType.CHECKBOXES, new MetadataBuilderConfigurator() { @Override public void configure(MetadataBuilder builder, MetadataSchemaTypesBuilder schemaTypes) { MetadataSchemaTypeBuilder taxonomySchemaType = schemaTypes.getSchemaType(zeTaxonomySchemaTypeCode); builder.defineReferencesTo(taxonomySchemaType).setMultivalue(true); } }); researchResult = advancedResearchThenBatchProcessing(FOLDER); researchResult.setModifyOption(metadata1); researchResult.toggleFirstCheckBoxInBatchProcessPopup(METADATA1_FINDER); researchResult.clickSaveButtonAndWaitForPageReload(); researchResult.clickFirstResultAndWaitForPageReload(); //assertThatMetadata1() contains the right value } @Test //TODO Maxime : Activer ce test lorsque firefox installé sur le serveur d'intégration @InDevelopmentTest public void givenCheckboxMetadataReferencingATaxonomyMultivaluesWithContainerBatchProcessingThenOK() throws Exception { updateDefaultContainerSchema(MetadataInputType.CHECKBOXES, new MetadataBuilderConfigurator() { @Override public void configure(MetadataBuilder builder, MetadataSchemaTypesBuilder schemaTypes) { MetadataSchemaTypeBuilder taxonomySchemaType = schemaTypes.getSchemaType(zeTaxonomySchemaTypeCode); builder.defineReferencesTo(taxonomySchemaType).setMultivalue(true); } }); researchResult = advancedResearchThenBatchProcessing(CONTAINING); researchResult.setModifyOption(metadata1); researchResult.toggleFirstCheckBoxInBatchProcessPopup(METADATA1_FINDER); researchResult.clickSaveButtonAndWaitForPageReload(); researchResult.clickFirstResultAndWaitForPageReload(); //assertThatMetadata1InContainer() contains the right value } @Test //TODO Maxime : Activer ce test lorsque firefox installé sur le serveur d'intégration @InDevelopmentTest public void givenCheckboxMetadataReferencingATaxonomyMultivaluesWithDocumentBatchProcessingThenOK() throws Exception { updateDefaultDocumentSchema(MetadataInputType.CHECKBOXES, new MetadataBuilderConfigurator() { @Override public void configure(MetadataBuilder builder, MetadataSchemaTypesBuilder schemaTypes) { MetadataSchemaTypeBuilder taxonomySchemaType = schemaTypes.getSchemaType(zeTaxonomySchemaTypeCode); builder.defineReferencesTo(taxonomySchemaType).setMultivalue(false); } }); researchResult = advancedResearchThenBatchProcessing(DOCUMENT); researchResult.setModifyOption(metadata1); researchResult.toggleFirstCheckBoxInBatchProcessPopup(METADATA1_FINDER); researchResult.clickSaveButtonAndWaitForPageReload(); researchResult.clickFirstResultAndWaitForPageReload(); //assertThatMetadata1InDocument() contains the right value } @Test //TODO Maxime : Activer ce test lorsque firefox installé sur le serveur d'intégration @InDevelopmentTest public void givenLookupMetadataReferencingATaxonomymMultivaluesWithFolderBatchProcessingThenOK() throws Exception { updateDefaultFolderSchema(MetadataInputType.LOOKUP, new MetadataBuilderConfigurator() { @Override public void configure(MetadataBuilder builder, MetadataSchemaTypesBuilder schemaTypes) { MetadataSchemaTypeBuilder taxonomySchemaType = schemaTypes.getSchemaType(zeTaxonomySchemaTypeCode); builder.defineReferencesTo(taxonomySchemaType).setMultivalue(true); } }); researchResult = advancedResearchThenBatchProcessing(FOLDER); researchResult.setModifyOption(metadata1); researchResult.getListAddRemoveLookupWebElement().addElementByChoosingFirstChoice("Daily scrum"); researchResult.clickSaveButtonAndWaitForPageReload(); researchResult.clickFirstResultAndWaitForPageReload(); assertThatMetadata1().contains("Daily scrum"); } @Test //TODO Maxime : Activer ce test lorsque firefox installé sur le serveur d'intégration @InDevelopmentTest public void givenLookupMetadataReferencingATaxonomyMultivaluesWithContainerBatchProcessingThenOK() throws Exception { updateDefaultContainerSchema(MetadataInputType.LOOKUP, new MetadataBuilderConfigurator() { @Override public void configure(MetadataBuilder builder, MetadataSchemaTypesBuilder schemaTypes) { MetadataSchemaTypeBuilder taxonomySchemaType = schemaTypes.getSchemaType(zeTaxonomySchemaTypeCode); builder.defineReferencesTo(taxonomySchemaType).setMultivalue(true); } }); researchResult = advancedResearchThenBatchProcessing(CONTAINING); researchResult.setModifyOption(metadata1); researchResult.getListAddRemoveLookupWebElement().addElementByChoosingFirstChoice("Daily scrum"); researchResult.clickSaveButtonAndWaitForPageReload(); researchResult.clickFirstResultAndWaitForPageReload(); assertThatMetadata1InContainer().contains("Daily scrum"); } @Test //TODO Maxime : Activer ce test lorsque firefox installé sur le serveur d'intégration @InDevelopmentTest public void givenLookupMetadataReferencingATaxonomyMultivaluesWithDocumentBatchProcessingThenOK() throws Exception { updateDefaultDocumentSchema(MetadataInputType.LOOKUP, new MetadataBuilderConfigurator() { @Override public void configure(MetadataBuilder builder, MetadataSchemaTypesBuilder schemaTypes) { MetadataSchemaTypeBuilder taxonomySchemaType = schemaTypes.getSchemaType(zeTaxonomySchemaTypeCode); builder.defineReferencesTo(taxonomySchemaType).setMultivalue(true); } }); researchResult = advancedResearchThenBatchProcessing(DOCUMENT); researchResult.setModifyOption(metadata1); researchResult.getListAddRemoveLookupWebElement().addElementByChoosingFirstChoice("Daily scrum"); researchResult.clickSaveButtonAndWaitForPageReload(); researchResult.clickFirstResultAndWaitForPageReload(); assertThatMetadata1InDocument().contains("Daily scrum"); } @Test //TODO Maxime : Activer ce test lorsque firefox installé sur le serveur d'intégration @InDevelopmentTest public void givenDropDownMetadataReferencingUsersWithFolderBatchProcessingThenOK() throws Exception { updateDefaultFolderSchema(MetadataInputType.DROPDOWN, new MetadataBuilderConfigurator() { @Override public void configure(MetadataBuilder builder, MetadataSchemaTypesBuilder schemaTypes) { MetadataSchemaTypeBuilder userSchemaType = schemaTypes.getSchemaType(User.SCHEMA_TYPE); builder.defineReferencesTo(userSchemaType).setMultivalue(false); } }); researchResult = advancedResearchThenBatchProcessing(FOLDER); researchResult.setModifyOption(metadata1); researchResult.getDropDown(METADATA1_FINDER).selectItemContainingText("Dakota"); researchResult.clickSaveButtonAndWaitForPageReload(); researchResult.clickFirstResultAndWaitForPageReload(); assertThatMetadata1().contains("Dakota"); } @Test //TODO Maxime : Activer ce test lorsque firefox installé sur le serveur d'intégration @InDevelopmentTest public void givenDropDownMetadataReferencingUsersWithContainerBatchProcessingThenOK() throws Exception { updateDefaultContainerSchema(MetadataInputType.DROPDOWN, new MetadataBuilderConfigurator() { @Override public void configure(MetadataBuilder builder, MetadataSchemaTypesBuilder schemaTypes) { MetadataSchemaTypeBuilder userSchemaType = schemaTypes.getSchemaType(User.SCHEMA_TYPE); builder.defineReferencesTo(userSchemaType).setMultivalue(false); } }); researchResult = advancedResearchThenBatchProcessing(CONTAINING); researchResult.setModifyOption(metadata1); researchResult.getDropDown(METADATA1_CONTAINER_FINDER).selectItemContainingText("Dakota"); researchResult.clickSaveButtonAndWaitForPageReload(); researchResult.clickFirstResultAndWaitForPageReload(); assertThatMetadata1InContainer().contains("Dakota"); } @Test //TODO Maxime : Activer ce test lorsque firefox installé sur le serveur d'intégration @InDevelopmentTest public void givenDropDownMetadataReferencingUsersWithDocumentBatchProcessingThenOK() throws Exception { updateDefaultDocumentSchema(MetadataInputType.DROPDOWN, new MetadataBuilderConfigurator() { @Override public void configure(MetadataBuilder builder, MetadataSchemaTypesBuilder schemaTypes) { MetadataSchemaTypeBuilder userSchemaType = schemaTypes.getSchemaType(User.SCHEMA_TYPE); builder.defineReferencesTo(userSchemaType).setMultivalue(false); } }); researchResult = advancedResearchThenBatchProcessing(DOCUMENT); researchResult.setModifyOption(metadata1); researchResult.getDropDown(METADATA1_DOCUMENT_FINDER).selectItemContainingText("Dakota"); researchResult.clickSaveButtonAndWaitForPageReload(); researchResult.clickFirstResultAndWaitForPageReload(); assertThatMetadata1InDocument().contains("Dakota"); } @Test //TODO Maxime : Activer ce test lorsque firefox installé sur le serveur d'intégration @InDevelopmentTest public void givenLookupMetadataReferencingUsersWithFolderBatchProcessingThenOK() throws Exception { updateDefaultFolderSchema(MetadataInputType.LOOKUP, new MetadataBuilderConfigurator() { @Override public void configure(MetadataBuilder builder, MetadataSchemaTypesBuilder schemaTypes) { MetadataSchemaTypeBuilder userSchemaType = schemaTypes.getSchemaType(User.SCHEMA_TYPE); builder.defineReferencesTo(userSchemaType).setMultivalue(false); } }); researchResult = advancedResearchThenBatchProcessing(FOLDER); researchResult.setModifyOption(metadata1); researchResult.getLookupField(METADATA1_FINDER).typeAndSelectFirst("Dakota"); researchResult.clickSaveButtonAndWaitForPageReload(); researchResult.clickFirstResultAndWaitForPageReload(); assertThatMetadata1().contains("Dakota"); } @Test //TODO Maxime : Activer ce test lorsque firefox installé sur le serveur d'intégration @InDevelopmentTest public void givenLookupMetadataReferencingUsersWithContainerBatchProcessingThenOK() throws Exception { updateDefaultContainerSchema(MetadataInputType.LOOKUP, new MetadataBuilderConfigurator() { @Override public void configure(MetadataBuilder builder, MetadataSchemaTypesBuilder schemaTypes) { MetadataSchemaTypeBuilder userSchemaType = schemaTypes.getSchemaType(User.SCHEMA_TYPE); builder.defineReferencesTo(userSchemaType).setMultivalue(false); } }); researchResult = advancedResearchThenBatchProcessing(CONTAINING); researchResult.setModifyOption(metadata1); researchResult.getLookupField(METADATA1_CONTAINER_FINDER).typeAndSelectFirst("Dakota"); researchResult.clickSaveButtonAndWaitForPageReload(); researchResult.clickFirstResultAndWaitForPageReload(); assertThatMetadata1InContainer().contains("Dakota"); } @Test //TODO Maxime : Activer ce test lorsque firefox installé sur le serveur d'intégration @InDevelopmentTest public void givenLookupMetadataReferencingUsersWithDocumentBatchProcessingThenOK() throws Exception { updateDefaultDocumentSchema(MetadataInputType.LOOKUP, new MetadataBuilderConfigurator() { @Override public void configure(MetadataBuilder builder, MetadataSchemaTypesBuilder schemaTypes) { MetadataSchemaTypeBuilder userSchemaType = schemaTypes.getSchemaType(User.SCHEMA_TYPE); builder.defineReferencesTo(userSchemaType).setMultivalue(false); } }); researchResult = advancedResearchThenBatchProcessing(DOCUMENT); researchResult.setModifyOption(metadata1); researchResult.getLookupField(METADATA1_DOCUMENT_FINDER).typeAndSelectFirst("Dakota"); researchResult.clickSaveButtonAndWaitForPageReload(); researchResult.clickFirstResultAndWaitForPageReload(); assertThatMetadata1InDocument().contains("Dakota"); } @Test //TODO Maxime : Activer ce test lorsque firefox installé sur le serveur d'intégration @InDevelopmentTest public void givenDropDownMetadataReferencingUsersMultivaluesWithFolderBatchProcessingThenOK() throws Exception { updateDefaultFolderSchema(MetadataInputType.DROPDOWN, new MetadataBuilderConfigurator() { @Override public void configure(MetadataBuilder builder, MetadataSchemaTypesBuilder schemaTypes) { MetadataSchemaTypeBuilder userSchemaType = schemaTypes.getSchemaType(User.SCHEMA_TYPE); builder.defineReferencesTo(userSchemaType).setMultivalue(true); } }); researchResult = advancedResearchThenBatchProcessing(FOLDER); researchResult.setModifyOption(metadata1); researchResult.getListAddRemoveDropDownWebElement().add("Dakota"); researchResult.clickSaveButtonAndWaitForPageReload(); researchResult.clickFirstResultAndWaitForPageReload(); assertThatMetadata1().contains("Dakota"); } @Test //TODO Maxime : Activer ce test lorsque firefox installé sur le serveur d'intégration @InDevelopmentTest public void givenDropDownMetadataReferencingUsersMultivaluesWithContainerBatchProcessingThenOK() throws Exception { updateDefaultContainerSchema(MetadataInputType.DROPDOWN, new MetadataBuilderConfigurator() { @Override public void configure(MetadataBuilder builder, MetadataSchemaTypesBuilder schemaTypes) { MetadataSchemaTypeBuilder userSchemaType = schemaTypes.getSchemaType(User.SCHEMA_TYPE); builder.defineReferencesTo(userSchemaType).setMultivalue(true); } }); researchResult = advancedResearchThenBatchProcessing(CONTAINING); researchResult.setModifyOption(metadata1); researchResult.getListAddRemoveDropDownWebElement().add("Dakota"); researchResult.clickSaveButtonAndWaitForPageReload(); researchResult.clickFirstResultAndWaitForPageReload(); assertThatMetadata1InContainer().contains("Dakota"); } @Test //TODO Maxime : Activer ce test lorsque firefox installé sur le serveur d'intégration @InDevelopmentTest public void givenDropDownMetadataReferencingUsersMultivaluesWithDocumentBatchProcessingThenOK() throws Exception { updateDefaultDocumentSchema(MetadataInputType.DROPDOWN, new MetadataBuilderConfigurator() { @Override public void configure(MetadataBuilder builder, MetadataSchemaTypesBuilder schemaTypes) { MetadataSchemaTypeBuilder userSchemaType = schemaTypes.getSchemaType(User.SCHEMA_TYPE); builder.defineReferencesTo(userSchemaType).setMultivalue(true); } }); researchResult = advancedResearchThenBatchProcessing(DOCUMENT); researchResult.setModifyOption(metadata1); researchResult.getListAddRemoveDropDownWebElement().add("Dakota"); researchResult.clickSaveButtonAndWaitForPageReload(); researchResult.clickFirstResultAndWaitForPageReload(); assertThatMetadata1InDocument().contains("Dakota"); } @Test //TODO Maxime : Activer ce test lorsque firefox installé sur le serveur d'intégration @InDevelopmentTest public void givenCheckboxMetadataReferencingUsersMultivaluesWithFolderBatchProcessingThenOK() throws Exception { updateDefaultFolderSchema(MetadataInputType.CHECKBOXES, new MetadataBuilderConfigurator() { @Override public void configure(MetadataBuilder builder, MetadataSchemaTypesBuilder schemaTypes) { MetadataSchemaTypeBuilder userSchemaType = schemaTypes.getSchemaType(User.SCHEMA_TYPE); builder.defineReferencesTo(userSchemaType).setMultivalue(true); } }); researchResult = advancedResearchThenBatchProcessing(FOLDER); researchResult.setModifyOption(metadata1); researchResult.toggleFirstCheckBoxInBatchProcessPopup(METADATA1_FINDER); researchResult.clickSaveButtonAndWaitForPageReload(); researchResult.clickFirstResultAndWaitForPageReload(); assertThatMetadata1().contains("Alice"); } @Test //TODO Maxime : Activer ce test lorsque firefox installé sur le serveur d'intégration @InDevelopmentTest public void givenCheckboxMetadataReferencingUsersMultivaluesWithContainerBatchProcessingThenOK() throws Exception { updateDefaultContainerSchema(MetadataInputType.CHECKBOXES, new MetadataBuilderConfigurator() { @Override public void configure(MetadataBuilder builder, MetadataSchemaTypesBuilder schemaTypes) { MetadataSchemaTypeBuilder userSchemaType = schemaTypes.getSchemaType(User.SCHEMA_TYPE); builder.defineReferencesTo(userSchemaType).setMultivalue(true); } }); researchResult = advancedResearchThenBatchProcessing(CONTAINING); researchResult.setModifyOption(metadata1); researchResult.toggleFirstCheckBoxInBatchProcessPopup(METADATA1_CONTAINER_FINDER); researchResult.clickSaveButtonAndWaitForPageReload(); researchResult.clickFirstResultAndWaitForPageReload(); assertThatMetadata1InContainer().contains("Alice"); } @Test //TODO Maxime : Activer ce test lorsque firefox installé sur le serveur d'intégration @InDevelopmentTest public void givenCheckboxMetadataReferencingUsersMultivaluesWithDocumentBatchProcessingThenOK() throws Exception { updateDefaultDocumentSchema(MetadataInputType.CHECKBOXES, new MetadataBuilderConfigurator() { @Override public void configure(MetadataBuilder builder, MetadataSchemaTypesBuilder schemaTypes) { MetadataSchemaTypeBuilder userSchemaType = schemaTypes.getSchemaType(User.SCHEMA_TYPE); builder.defineReferencesTo(userSchemaType).setMultivalue(true); } }); researchResult = advancedResearchThenBatchProcessing(DOCUMENT); researchResult.setModifyOption(metadata1); researchResult.toggleFirstCheckBoxInBatchProcessPopup(METADATA1_DOCUMENT_FINDER); researchResult.clickSaveButtonAndWaitForPageReload(); researchResult.clickFirstResultAndWaitForPageReload(); assertThatMetadata1InDocument().contains("Alice"); } @Test //TODO Maxime : Activer ce test lorsque firefox installé sur le serveur d'intégration @InDevelopmentTest public void givenLookupMetadataReferencingUsersMultivaluesWithFolderBatchProcessingThenOK() throws Exception { updateDefaultFolderSchema(MetadataInputType.LOOKUP, new MetadataBuilderConfigurator() { @Override public void configure(MetadataBuilder builder, MetadataSchemaTypesBuilder schemaTypes) { MetadataSchemaTypeBuilder userSchemaType = schemaTypes.getSchemaType(User.SCHEMA_TYPE); builder.defineReferencesTo(userSchemaType).setMultivalue(true); } }); researchResult = advancedResearchThenBatchProcessing(FOLDER); researchResult.setModifyOption(metadata1); researchResult.getListAddRemoveLookupWebElement().addElementByChoosingFirstChoice("Dakota"); researchResult.clickSaveButtonAndWaitForPageReload(); researchResult.clickFirstResultAndWaitForPageReload(); assertThatMetadata1().contains("Dakota"); } @Test //TODO Maxime : Activer ce test lorsque firefox installé sur le serveur d'intégration @InDevelopmentTest public void givenLookupMetadataReferencingUsersMultivaluesWithContainerBatchProcessingThenOK() throws Exception { updateDefaultContainerSchema(MetadataInputType.LOOKUP, new MetadataBuilderConfigurator() { @Override public void configure(MetadataBuilder builder, MetadataSchemaTypesBuilder schemaTypes) { MetadataSchemaTypeBuilder userSchemaType = schemaTypes.getSchemaType(User.SCHEMA_TYPE); builder.defineReferencesTo(userSchemaType).setMultivalue(true); } }); researchResult = advancedResearchThenBatchProcessing(CONTAINING); researchResult.setModifyOption(metadata1); researchResult.getListAddRemoveLookupWebElement().addElementByChoosingFirstChoice("Dakota"); researchResult.clickSaveButtonAndWaitForPageReload(); researchResult.clickFirstResultAndWaitForPageReload(); assertThatMetadata1InContainer().contains("Dakota"); } @Test //TODO Maxime : Activer ce test lorsque firefox installé sur le serveur d'intégration @InDevelopmentTest public void givenLookupMetadataReferencingUsersMultivaluesWithDocumentBatchProcessingThenOK() throws Exception { updateDefaultDocumentSchema(MetadataInputType.LOOKUP, new MetadataBuilderConfigurator() { @Override public void configure(MetadataBuilder builder, MetadataSchemaTypesBuilder schemaTypes) { MetadataSchemaTypeBuilder userSchemaType = schemaTypes.getSchemaType(User.SCHEMA_TYPE); builder.defineReferencesTo(userSchemaType).setMultivalue(true); } }); researchResult = advancedResearchThenBatchProcessing(DOCUMENT); researchResult.setModifyOption(metadata1); researchResult.getListAddRemoveLookupWebElement().addElementByChoosingFirstChoice("Dakota"); researchResult.clickSaveButtonAndWaitForPageReload(); researchResult.clickFirstResultAndWaitForPageReload(); assertThatMetadata1InDocument().contains("Dakota"); } @Test //TODO Maxime : Activer ce test lorsque firefox installé sur le serveur d'intégration @InDevelopmentTest public void givenDropDownMetadataReferencingAdministrativeUnitWithFolderBatchProcessingThenOK() throws Exception { updateDefaultFolderSchema(MetadataInputType.DROPDOWN, new MetadataBuilderConfigurator() { @Override public void configure(MetadataBuilder builder, MetadataSchemaTypesBuilder schemaTypes) { MetadataSchemaTypeBuilder adminUnitSchemaType = schemaTypes.getSchemaType(AdministrativeUnit.SCHEMA_TYPE); builder.defineReferencesTo(adminUnitSchemaType).setMultivalue(false); } }); researchResult = advancedResearchThenBatchProcessing(FOLDER); researchResult.setModifyOption(metadata1); researchResult.getDropDown(METADATA1_FINDER).selectItemContainingText(administrativeUnitFinder); researchResult.clickSaveButtonAndWaitForPageReload(); researchResult.clickFirstResultAndWaitForPageReload(); assertThatMetadata1().contains("12"); } @Test //TODO Maxime : Activer ce test lorsque firefox installé sur le serveur d'intégration @InDevelopmentTest public void givenDropDownMetadataReferencingAdministrativeUnitWithContainerBatchProcessingThenOK() throws Exception { updateDefaultContainerSchema(MetadataInputType.DROPDOWN, new MetadataBuilderConfigurator() { @Override public void configure(MetadataBuilder builder, MetadataSchemaTypesBuilder schemaTypes) { MetadataSchemaTypeBuilder adminUnitSchemaType = schemaTypes.getSchemaType(AdministrativeUnit.SCHEMA_TYPE); builder.defineReferencesTo(adminUnitSchemaType).setMultivalue(false); } }); researchResult = advancedResearchThenBatchProcessing(CONTAINING); researchResult.setModifyOption(metadata1); researchResult.getDropDown(METADATA1_CONTAINER_FINDER).selectItemContainingText(administrativeUnitFinder); researchResult.clickSaveButtonAndWaitForPageReload(); researchResult.clickFirstResultAndWaitForPageReload(); assertThatMetadata1InContainer().contains("12"); } @Test //TODO Maxime : Activer ce test lorsque firefox installé sur le serveur d'intégration @InDevelopmentTest public void givenDropDownMetadataReferencingAdministrativeUnitWithDocumentBatchProcessingThenOK() throws Exception { updateDefaultDocumentSchema(MetadataInputType.DROPDOWN, new MetadataBuilderConfigurator() { @Override public void configure(MetadataBuilder builder, MetadataSchemaTypesBuilder schemaTypes) { MetadataSchemaTypeBuilder adminUnitSchemaType = schemaTypes.getSchemaType(AdministrativeUnit.SCHEMA_TYPE); builder.defineReferencesTo(adminUnitSchemaType).setMultivalue(false); } }); researchResult = advancedResearchThenBatchProcessing(DOCUMENT); researchResult.setModifyOption(metadata1); researchResult.getDropDown(METADATA1_DOCUMENT_FINDER).selectItemContainingText(administrativeUnitFinder); researchResult.clickSaveButtonAndWaitForPageReload(); researchResult.clickFirstResultAndWaitForPageReload(); assertThatMetadata1InDocument().contains("12"); } @Test //TODO Maxime : Activer ce test lorsque firefox installé sur le serveur d'intégration @InDevelopmentTest public void givenLookupMetadataReferencingAdministrativeUnitWithFolderBatchProcessingThenOK() throws Exception { updateDefaultFolderSchema(MetadataInputType.LOOKUP, new MetadataBuilderConfigurator() { @Override public void configure(MetadataBuilder builder, MetadataSchemaTypesBuilder schemaTypes) { MetadataSchemaTypeBuilder adminUnitSchemaType = schemaTypes.getSchemaType(AdministrativeUnit.SCHEMA_TYPE); builder.defineReferencesTo(adminUnitSchemaType).setMultivalue(false); } }); researchResult = advancedResearchThenBatchProcessing(FOLDER); researchResult.setModifyOption(metadata1); researchResult.getLookupField(METADATA1_FINDER).typeAndSelectFirst(administrativeUnitFinder); researchResult.clickSaveButtonAndWaitForPageReload(); researchResult.clickFirstResultAndWaitForPageReload(); assertThatMetadata1().contains("12"); } @Test //TODO Maxime : Activer ce test lorsque firefox installé sur le serveur d'intégration @InDevelopmentTest public void givenLookupMetadataReferencingAdministrativeUnitWithContainerBatchProcessingThenOK() throws Exception { updateDefaultContainerSchema(MetadataInputType.LOOKUP, new MetadataBuilderConfigurator() { @Override public void configure(MetadataBuilder builder, MetadataSchemaTypesBuilder schemaTypes) { MetadataSchemaTypeBuilder adminUnitSchemaType = schemaTypes.getSchemaType(AdministrativeUnit.SCHEMA_TYPE); builder.defineReferencesTo(adminUnitSchemaType).setMultivalue(false); } }); researchResult = advancedResearchThenBatchProcessing(CONTAINING); researchResult.setModifyOption(metadata1); researchResult.getLookupField(METADATA1_CONTAINER_FINDER).typeAndSelectFirst(administrativeUnitFinder); researchResult.clickSaveButtonAndWaitForPageReload(); researchResult.clickFirstResultAndWaitForPageReload(); assertThatMetadata1InContainer().contains("12"); } @Test //TODO Maxime : Activer ce test lorsque firefox installé sur le serveur d'intégration @InDevelopmentTest public void givenLookupMetadataReferencingAdministrativeUnitWithDocumentBatchProcessingThenOK() throws Exception { updateDefaultDocumentSchema(MetadataInputType.LOOKUP, new MetadataBuilderConfigurator() { @Override public void configure(MetadataBuilder builder, MetadataSchemaTypesBuilder schemaTypes) { MetadataSchemaTypeBuilder adminUnitSchemaType = schemaTypes.getSchemaType(AdministrativeUnit.SCHEMA_TYPE); builder.defineReferencesTo(adminUnitSchemaType).setMultivalue(false); } }); researchResult = advancedResearchThenBatchProcessing(DOCUMENT); researchResult.setModifyOption(metadata1); researchResult.getLookupField(METADATA1_DOCUMENT_FINDER).typeAndSelectFirst(administrativeUnitFinder); researchResult.clickSaveButtonAndWaitForPageReload(); researchResult.clickFirstResultAndWaitForPageReload(); assertThatMetadata1InDocument().contains("12"); } @Test //TODO Maxime : Activer ce test lorsque firefox installé sur le serveur d'intégration @InDevelopmentTest public void givenDropDownMetadataReferencingAdministrativeUnitMultivaluesWithFolderBatchProcessingThenOK() throws Exception { updateDefaultFolderSchema(MetadataInputType.DROPDOWN, new MetadataBuilderConfigurator() { @Override public void configure(MetadataBuilder builder, MetadataSchemaTypesBuilder schemaTypes) { MetadataSchemaTypeBuilder adminUnitSchemaType = schemaTypes.getSchemaType(AdministrativeUnit.SCHEMA_TYPE); builder.defineReferencesTo(adminUnitSchemaType).setMultivalue(true); } }); researchResult = advancedResearchThenBatchProcessing(FOLDER); researchResult.setModifyOption(metadata1); researchResult.getListAddRemoveDropDownWebElement().add(administrativeUnitFinder); researchResult.clickSaveButtonAndWaitForPageReload(); researchResult.clickFirstResultAndWaitForPageReload(); assertThatMetadata1().contains("12"); } @Test //TODO Maxime : Activer ce test lorsque firefox installé sur le serveur d'intégration @InDevelopmentTest public void givenDropDownMetadataReferencingAdministrativeUnitMultivaluesWithContainerBatchProcessingThenOK() throws Exception { updateDefaultContainerSchema(MetadataInputType.DROPDOWN, new MetadataBuilderConfigurator() { @Override public void configure(MetadataBuilder builder, MetadataSchemaTypesBuilder schemaTypes) { MetadataSchemaTypeBuilder adminUnitSchemaType = schemaTypes.getSchemaType(AdministrativeUnit.SCHEMA_TYPE); builder.defineReferencesTo(adminUnitSchemaType).setMultivalue(true); } }); researchResult = advancedResearchThenBatchProcessing(CONTAINING); researchResult.setModifyOption(metadata1); researchResult.getListAddRemoveDropDownWebElement().add(administrativeUnitFinder); researchResult.clickSaveButtonAndWaitForPageReload(); researchResult.clickFirstResultAndWaitForPageReload(); assertThatMetadata1InContainer().contains("12"); } @Test //TODO Maxime : Activer ce test lorsque firefox installé sur le serveur d'intégration @InDevelopmentTest public void givenDropDownMetadataReferencingAdministrativeUnitMultivaluesWithDocumentBatchProcessingThenOK() throws Exception { updateDefaultDocumentSchema(MetadataInputType.DROPDOWN, new MetadataBuilderConfigurator() { @Override public void configure(MetadataBuilder builder, MetadataSchemaTypesBuilder schemaTypes) { MetadataSchemaTypeBuilder adminUnitSchemaType = schemaTypes.getSchemaType(AdministrativeUnit.SCHEMA_TYPE); builder.defineReferencesTo(adminUnitSchemaType).setMultivalue(true); } }); researchResult = advancedResearchThenBatchProcessing(DOCUMENT); researchResult.setModifyOption(metadata1); researchResult.getListAddRemoveDropDownWebElement().add(administrativeUnitFinder); researchResult.clickSaveButtonAndWaitForPageReload(); researchResult.clickFirstResultAndWaitForPageReload(); assertThatMetadata1InDocument().contains("12"); } @Test //TODO Maxime : Activer ce test lorsque firefox installé sur le serveur d'intégration @InDevelopmentTest public void givenCheckboxMetadataReferencingAdministrativeUnitMultivaluesWithFolderBatchProcessingThenOK() throws Exception { updateDefaultFolderSchema(MetadataInputType.CHECKBOXES, new MetadataBuilderConfigurator() { @Override public void configure(MetadataBuilder builder, MetadataSchemaTypesBuilder schemaTypes) { MetadataSchemaTypeBuilder adminUnitSchemaType = schemaTypes.getSchemaType(AdministrativeUnit.SCHEMA_TYPE); builder.defineReferencesTo(adminUnitSchemaType).setMultivalue(true); } }); researchResult = advancedResearchThenBatchProcessing(FOLDER); researchResult.setModifyOption(metadata1); researchResult.toggleFirstCheckBoxInBatchProcessPopup(METADATA1_FINDER); researchResult.clickSaveButtonAndWaitForPageReload(); researchResult.clickFirstResultAndWaitForPageReload(); //assertThatMetadata1() contains the right value } @Test //TODO Maxime : Activer ce test lorsque firefox installé sur le serveur d'intégration @InDevelopmentTest public void givenCheckboxMetadataReferencingAdministrativeUnitMultivaluesWithContainerBatchProcessingThenOK() throws Exception { updateDefaultContainerSchema(MetadataInputType.CHECKBOXES, new MetadataBuilderConfigurator() { @Override public void configure(MetadataBuilder builder, MetadataSchemaTypesBuilder schemaTypes) { MetadataSchemaTypeBuilder adminUnitSchemaType = schemaTypes.getSchemaType(AdministrativeUnit.SCHEMA_TYPE); builder.defineReferencesTo(adminUnitSchemaType).setMultivalue(true); } }); researchResult = advancedResearchThenBatchProcessing(CONTAINING); researchResult.setModifyOption(metadata1); researchResult.toggleFirstCheckBoxInBatchProcessPopup(METADATA1_CONTAINER_FINDER); researchResult.clickSaveButtonAndWaitForPageReload(); researchResult.clickFirstResultAndWaitForPageReload(); //assertThatMetadata1InContainer() contains the right value } @Test //TODO Maxime : Activer ce test lorsque firefox installé sur le serveur d'intégration @InDevelopmentTest public void givenCheckboxMetadataReferencingAdministrativeUnitMultivaluesWithDocumentBatchProcessingThenOK() throws Exception { updateDefaultDocumentSchema(MetadataInputType.CHECKBOXES, new MetadataBuilderConfigurator() { @Override public void configure(MetadataBuilder builder, MetadataSchemaTypesBuilder schemaTypes) { MetadataSchemaTypeBuilder adminUnitSchemaType = schemaTypes.getSchemaType(AdministrativeUnit.SCHEMA_TYPE); builder.defineReferencesTo(adminUnitSchemaType).setMultivalue(true); } }); researchResult = advancedResearchThenBatchProcessing(DOCUMENT); researchResult.setModifyOption(metadata1); researchResult.toggleFirstCheckBoxInBatchProcessPopup(METADATA1_DOCUMENT_FINDER); researchResult.clickSaveButtonAndWaitForPageReload(); researchResult.clickFirstResultAndWaitForPageReload(); //assertThatMetadata1InDocument() contains the right value } @Test //TODO Maxime : Activer ce test lorsque firefox installé sur le serveur d'intégration @InDevelopmentTest public void givenLookupMetadataReferencingAdministrativeUnitMultivaluesWithFolderBatchProcessingThenOK() throws Exception { updateDefaultFolderSchema(MetadataInputType.LOOKUP, new MetadataBuilderConfigurator() { @Override public void configure(MetadataBuilder builder, MetadataSchemaTypesBuilder schemaTypes) { MetadataSchemaTypeBuilder adminUnitSchemaType = schemaTypes.getSchemaType(AdministrativeUnit.SCHEMA_TYPE); builder.defineReferencesTo(adminUnitSchemaType).setMultivalue(true); } }); researchResult = advancedResearchThenBatchProcessing(FOLDER); researchResult.setModifyOption(metadata1); researchResult.getListAddRemoveLookupWebElement().addElementByChoosingFirstChoice(administrativeUnitFinder); researchResult.clickSaveButtonAndWaitForPageReload(); researchResult.clickFirstResultAndWaitForPageReload(); assertThatMetadata1().contains("12"); } @Test //TODO Maxime : Activer ce test lorsque firefox installé sur le serveur d'intégration @InDevelopmentTest public void givenLookupMetadataReferencingAdministrativeUnitMultivaluesWithContainerBatchProcessingThenOK() throws Exception { updateDefaultContainerSchema(MetadataInputType.LOOKUP, new MetadataBuilderConfigurator() { @Override public void configure(MetadataBuilder builder, MetadataSchemaTypesBuilder schemaTypes) { MetadataSchemaTypeBuilder adminUnitSchemaType = schemaTypes.getSchemaType(AdministrativeUnit.SCHEMA_TYPE); builder.defineReferencesTo(adminUnitSchemaType).setMultivalue(true); } }); researchResult = advancedResearchThenBatchProcessing(CONTAINING); researchResult.setModifyOption(metadata1); researchResult.getListAddRemoveLookupWebElement().addElementByChoosingFirstChoice(administrativeUnitFinder); researchResult.clickSaveButtonAndWaitForPageReload(); researchResult.clickFirstResultAndWaitForPageReload(); assertThatMetadata1InContainer().contains("12"); } @Test //TODO Maxime : Activer ce test lorsque firefox installé sur le serveur d'intégration @InDevelopmentTest public void givenLookupMetadataReferencingAdministrativeUnitMultivaluesWithDocumentBatchProcessingThenOK() throws Exception { updateDefaultDocumentSchema(MetadataInputType.LOOKUP, new MetadataBuilderConfigurator() { @Override public void configure(MetadataBuilder builder, MetadataSchemaTypesBuilder schemaTypes) { MetadataSchemaTypeBuilder adminUnitSchemaType = schemaTypes.getSchemaType(AdministrativeUnit.SCHEMA_TYPE); builder.defineReferencesTo(adminUnitSchemaType).setMultivalue(true); } }); researchResult = advancedResearchThenBatchProcessing(DOCUMENT); researchResult.setModifyOption(metadata1); researchResult.getListAddRemoveLookupWebElement().addElementByChoosingFirstChoice(administrativeUnitFinder); researchResult.clickSaveButtonAndWaitForPageReload(); researchResult.clickFirstResultAndWaitForPageReload(); assertThatMetadata1InDocument().contains("12"); } // ------------------------------------------------------------------------------------------------------- private void deleteMetadata(ListAddRemoveFieldWebElement<?> listAddRemoveFieldWebElement) { listAddRemoveFieldWebElement.getRemoveButtonWebElement(0).click(); getConfirmdialogOKButton().click(); } public ConstellioWebElement getConfirmdialogOKButton() { return driver.waitUntilElementExist(By.id("confirmdialog-ok-button")); } private void createFolderWithCheckboxMetadata() { navigateToAddFolderFormLoggedAs(admin); zeForm.toggleFirstCheckbox(METADATA1_FINDER); zeForm.toggleFirstCheckbox(METADATA2_FINDER); completeRequiredField(); zeForm.clickSaveButtonAndWaitForPageReload(); } private void modifyFolderWithCheckboxMetadata() { navigateToEditFolder(getFolderId()); zeForm.toggleAllCheckbox(); zeForm.clickSaveButtonAndWaitForPageReload(); } private void deleteCheckboxMetadataFromFolder() { navigateToEditFolder(getFolderId()); zeForm.removeCheckbox(); zeForm.clickSaveButtonAndWaitForPageReload(); } private void navigateToAddFolderFormLoggedAs(String user) { driver = newWebDriver(loggedAsUserInCollection(user, zeCollection)); driver.navigateTo().url(RMNavigationConfiguration.ADD_FOLDER); zeForm = new RecordFormWebElement(driver.findElement(By.className(BaseForm.BASE_FORM))); } private void navigateToEditFolder(String folderId) { driver.navigateTo().url(RMNavigationConfiguration.EDIT_FOLDER + "/id%253D" + folderId); zeForm = new RecordFormWebElement(driver.findElement(By.className(BaseForm.BASE_FORM))); } private void completeRequiredField() { zeForm.getTextField("folder_default_title").setValue("Pokemon"); zeForm.getLookupField("folder_default_categoryEntered").typeAndSelectFirst(classificationFinder); zeForm.getDateField("folder_default_openingDate").setValue(new LocalDate(2015, 2, 21)); zeForm.getDropDown("folder_default_administrativeUnitEntered").typeAndSelectFirst(administrativeUnitFinder); } private RecordDisplayWebElement folderDetails() { return new RecordDisplayWebElement(driver.findElement(By.className("main-component"))); } private ResearchResultWebElement advancedResearchThenBatchProcessing(String researchType) { driver = newWebDriver(loggedAsUserInCollection(admin, zeCollection)); advancedResearch = new AdvancedResearchWebElement(driver); return advancedResearch.advancedResearchThenBatchProcessingWith(driver, researchType); } private String getFolderId() { String[] splitUrl = driver.getCurrentUrl().split("displayFolder/"); return splitUrl[1]; } private void updateDefaultFolderSchema(MetadataInputType type, MetadataBuilderConfigurator configurator) { MetadataSchemasManager schemaManager = getModelLayerFactory().getMetadataSchemasManager(); MetadataSchemaTypesBuilder typesBuilder = schemaManager.modify(zeCollection); MetadataSchemaBuilder schemaBuilder = typesBuilder.getSchema(Folder.DEFAULT_SCHEMA); MetadataBuilder metadata1Builder = schemaBuilder.create(metadata1); MetadataBuilder metadata2Builder = schemaBuilder.create(metadata2); configurator.configure(metadata1Builder, typesBuilder); configurator.configure(metadata2Builder, typesBuilder); try { schemaManager.saveUpdateSchemaTypes(typesBuilder); } catch (OptimisticLocking optimistickLocking) { throw new RuntimeException(optimistickLocking); } SchemasDisplayManager schemasDisplayManager = getAppLayerFactory().getMetadataSchemasDisplayManager(); SchemaDisplayConfig schemaConfig = schemasDisplayManager.getSchema(zeCollection, Folder.DEFAULT_SCHEMA); List<String> formMetadatas = new ArrayList<>(schemaConfig.getFormMetadataCodes()); List<String> displayMetadatas = new ArrayList<>(schemaConfig.getDisplayMetadataCodes()); formMetadatas.addAll(asList(Folder.DEFAULT_SCHEMA + "_" + metadata1, Folder.DEFAULT_SCHEMA + "_" + metadata2)); displayMetadatas.addAll(asList(Folder.DEFAULT_SCHEMA + "_" + metadata1, Folder.DEFAULT_SCHEMA + "_" + metadata2)); schemasDisplayManager.saveSchema(schemaConfig.withFormMetadataCodes(formMetadatas).withDisplayMetadataCodes( displayMetadatas)); schemasDisplayManager.saveMetadata(schemasDisplayManager.getMetadata(zeCollection, Folder.DEFAULT_SCHEMA + "_" + metadata1).withInputType(type)); schemasDisplayManager.saveMetadata(schemasDisplayManager.getMetadata(zeCollection, Folder.DEFAULT_SCHEMA + "_" + metadata2).withInputType(type)); assertThat(schemasDisplayManager.getSchema(zeCollection, Folder.DEFAULT_SCHEMA).getFormMetadataCodes()).contains( Folder.DEFAULT_SCHEMA + "_" + metadata1, Folder.DEFAULT_SCHEMA + "_" + metadata2 ); assertThat(schemasDisplayManager.getSchema(zeCollection, Folder.DEFAULT_SCHEMA).getDisplayMetadataCodes()).contains( Folder.DEFAULT_SCHEMA + "_" + metadata1, Folder.DEFAULT_SCHEMA + "_" + metadata2 ); } private void updateDefaultDocumentSchema(MetadataInputType type, MetadataBuilderConfigurator configurator) { MetadataSchemasManager schemaManager = getModelLayerFactory().getMetadataSchemasManager(); MetadataSchemaTypesBuilder typesBuilder = schemaManager.modify(zeCollection); MetadataSchemaBuilder schemaBuilder = typesBuilder.getSchema(Document.DEFAULT_SCHEMA); MetadataBuilder metadata1Builder = schemaBuilder.create(metadata1); configurator.configure(metadata1Builder, typesBuilder); try { schemaManager.saveUpdateSchemaTypes(typesBuilder); } catch (OptimisticLocking optimistickLocking) { throw new RuntimeException(optimistickLocking); } SchemasDisplayManager schemasDisplayManager = getAppLayerFactory().getMetadataSchemasDisplayManager(); SchemaDisplayConfig schemaConfig = schemasDisplayManager.getSchema(zeCollection, Document.DEFAULT_SCHEMA); List<String> formMetadatas = new ArrayList<>(schemaConfig.getFormMetadataCodes()); List<String> displayMetadatas = new ArrayList<>(schemaConfig.getDisplayMetadataCodes()); formMetadatas.addAll(asList(metadata1)); displayMetadatas.addAll(asList(metadata1)); schemasDisplayManager.saveSchema(schemaConfig.withFormMetadataCodes(formMetadatas).withDisplayMetadataCodes( displayMetadatas)); schemasDisplayManager.saveMetadata(schemasDisplayManager.getMetadata(zeCollection, Document.DEFAULT_SCHEMA + "_" + metadata1).withInputType(type)); } private void updateDefaultContainerSchema(MetadataInputType type, MetadataBuilderConfigurator configurator) { MetadataSchemasManager schemaManager = getModelLayerFactory().getMetadataSchemasManager(); MetadataSchemaTypesBuilder typesBuilder = schemaManager.modify(zeCollection); MetadataSchemaBuilder schemaBuilder = typesBuilder.getSchema(ContainerRecord.DEFAULT_SCHEMA); MetadataBuilder metadata1Builder = schemaBuilder.create(metadata1); configurator.configure(metadata1Builder, typesBuilder); try { schemaManager.saveUpdateSchemaTypes(typesBuilder); } catch (OptimisticLocking optimistickLocking) { throw new RuntimeException(optimistickLocking); } SchemasDisplayManager schemasDisplayManager = getAppLayerFactory().getMetadataSchemasDisplayManager(); SchemaDisplayConfig schemaConfig = schemasDisplayManager.getSchema(zeCollection, ContainerRecord.DEFAULT_SCHEMA); List<String> formMetadatas = new ArrayList<>(schemaConfig.getFormMetadataCodes()); List<String> displayMetadatas = new ArrayList<>(schemaConfig.getDisplayMetadataCodes()); formMetadatas.addAll(asList(metadata1)); displayMetadatas.addAll(asList(metadata1)); schemasDisplayManager.saveSchema(schemaConfig.withFormMetadataCodes(formMetadatas).withDisplayMetadataCodes( displayMetadatas)); schemasDisplayManager.saveMetadata(schemasDisplayManager.getMetadata(zeCollection, ContainerRecord.DEFAULT_SCHEMA + "_" + metadata1).withInputType(type)); } private void hideMetadatasAndAssertThatNotVisible() { hideMetadatas(); navigateToAddFolderFormLoggedAs(admin); assertThat(zeForm.isVisible(METADATA1_FINDER)).isFalse(); assertThat(zeForm.isVisible(METADATA2_FINDER)).isFalse(); } private void hideMetadatas() { SchemasDisplayManager schemasDisplayManager = getAppLayerFactory().getMetadataSchemasDisplayManager(); SchemaDisplayConfig schemaConfig = schemasDisplayManager.getSchema(zeCollection, Folder.DEFAULT_SCHEMA); List<String> formMetadatas = new ArrayList<>(schemaConfig.getFormMetadataCodes()); List<String> displayMetadatas = new ArrayList<>(schemaConfig.getDisplayMetadataCodes()); schemasDisplayManager.saveSchema(schemaConfig.withFormMetadataCodes(formMetadatas).withDisplayMetadataCodes( displayMetadatas)); schemasDisplayManager.saveMetadata(schemasDisplayManager.getMetadata(zeCollection, Folder.DEFAULT_SCHEMA + "_" + metadata1).withInputType(MetadataInputType.HIDDEN)); schemasDisplayManager.saveMetadata(schemasDisplayManager.getMetadata(zeCollection, Folder.DEFAULT_SCHEMA + "_" + metadata2).withInputType(MetadataInputType.HIDDEN)); } private void createValueListAndTaxonomyWithRecords() throws RecordServicesException { ValueListServices valueListServices = new ValueListServices(getAppLayerFactory(), zeCollection); zeValueListSchemaTypeCode = valueListServices.createValueDomain("Colors").getCode(); zeTaxonomySchemaTypeCode = valueListServices.createTaxonomy("Ze Classification").getSchemaTypes().get(0); RecordServices recordServices = getModelLayerFactory().newRecordServices(); Transaction transaction = new Transaction(); transaction.add(rm.newValueListItem(zeValueListSchemaTypeCode + "_default").setTitle("Red").setCode("red")); transaction.add(rm.newValueListItem(zeValueListSchemaTypeCode + "_default").setTitle("Green").setCode("green")); transaction.add(rm.newValueListItem(zeValueListSchemaTypeCode + "_default").setTitle("Blue").setCode("blue")); transaction.add(rm.newValueListItem(zeValueListSchemaTypeCode + "_default").setTitle("Orange").setCode("orange")); String events = transaction.add(newZeTaxonomyRecord().setCode("events").setTitle("Scrum events")).getId(); transaction.add(newZeTaxonomyRecord().setCode("planning").setTitle("Sprint planning").setParent(events)); transaction.add(newZeTaxonomyRecord().setCode("daily").setTitle("Daily scrum").setParent(events)); transaction.add(newZeTaxonomyRecord().setCode("review").setTitle("Sprint review").setParent(events)); transaction.add(newZeTaxonomyRecord().setCode("retro").setTitle("Sprint retrospective").setParent(events)); String artefacts = transaction.add(newZeTaxonomyRecord().setCode("scrum artefact").setTitle("Scrum artefact")).getId(); transaction.add(newZeTaxonomyRecord().setCode("product-backlog").setTitle("Product backlog").setParent(artefacts)); transaction.add(newZeTaxonomyRecord().setCode("sprint-backlog").setTitle("Sprint backlog").setParent(artefacts)); transaction.add(newZeTaxonomyRecord().setCode("burndown-chart").setTitle("Burndown chart").setParent(artefacts)); recordServices.execute(transaction); } private HierarchicalValueListItem newZeTaxonomyRecord() { return rm.newHierarchicalValueListItem(zeTaxonomySchemaTypeCode + "_default"); } private StringAssert assertThatMetadata1() { return assertThat(folderDetails().getValue(METADATA1_FINDER)); } private StringAssert assertThatMetadata1InContainer() { return assertThat(folderDetails().getValue(METADATA1_CONTAINER_FINDER)); } private StringAssert assertThatMetadata1InDocument() { return assertThat(folderDetails().getValue(METADATA1_DOCUMENT_FINDER)); } private StringAssert assertThatMetadata2() { return assertThat(folderDetails().getValue(METADATA2_FINDER)); } private void assertThatMetadatasNotVisibleInFolderDetails() { assertThat(folderDetails().isVisible(METADATA1_FINDER)).isFalse(); assertThat(folderDetails().isVisible(METADATA2_FINDER)).isFalse(); } public enum AnEnumClass implements EnumWithSmallCode { AVALUE("A Value Awesome"), ANOTHERVALUE("An Other Value"); private String code; AnEnumClass(String code) { this.code = code; } public String getCode() { return code; } } }