Search in sources :

Example 1 with Field

use of uk.ac.bbsrc.tgac.miso.webapp.integrationtest.page.LibraryPage.Field in project miso-lims by miso-lims.

the class LibraryPageIT method testAddValues.

@Test
public void testAddValues() throws Exception {
    LibraryPage page = LibraryPage.get(getDriver(), getBaseUrl(), 110003L);
    // check initial values
    Map<Field, String> fields = Maps.newLinkedHashMap();
    fields.put(Field.ID, "110003");
    fields.put(Field.NAME, "LIB110003");
    fields.put(Field.ALIAS, "1LIB_0001_Ly_P_PE_253_WG");
    fields.put(Field.BARCODE, null);
    fields.put(Field.DESCRIPTION, null);
    fields.put(Field.CREATION_DATE, "2017-07-24");
    fields.put(Field.PLATFORM, "Illumina");
    fields.put(Field.LIBRARY_TYPE, "Paired End");
    fields.put(Field.DESIGN, "None");
    fields.put(Field.DESIGN_CODE, "WG (Whole Genome)");
    fields.put(Field.SELECTION, "None");
    fields.put(Field.STRATEGY, "None");
    fields.put(Field.INDEX_FAMILY, "No indices");
    fields.put(Field.INDEX_1, "None");
    fields.put(Field.DETAILED_QC_STATUS, "Not Ready");
    fields.put(Field.LOW_QUALITY, "false");
    fields.put(Field.SIZE, null);
    fields.put(Field.VOLUME, null);
    fields.put(Field.DISCARDED, "false");
    fields.put(Field.LOCATION, null);
    fields.put(Field.BOX_LOCATION, "n/a");
    fields.put(Field.KIT, "Test Kit");
    fields.put(Field.CONCENTRATION, null);
    fields.put(Field.ARCHIVED, "false");
    assertFieldValues("loaded", fields, page);
    // make changes
    Map<Field, String> changes = Maps.newLinkedHashMap();
    changes.put(Field.BARCODE, "preciouspreciousbarcode");
    changes.put(Field.DESCRIPTION, "lib_110003_desc");
    changes.put(Field.DESIGN, "WG");
    changes.put(Field.INDEX_FAMILY, "No indices");
    changes.put(Field.DETAILED_QC_STATUS, "Ready");
    changes.put(Field.SIZE, "253");
    changes.put(Field.VOLUME, "1000.12");
    changes.put(Field.LOCATION, "lib_110003_location");
    changes.put(Field.CONCENTRATION, "30.2");
    page.setFields(changes);
    // copy unchanged
    fields.forEach((key, val) -> {
        if (!changes.containsKey(key))
            changes.put(key, val);
    });
    // affected by library design change
    changes.put(Field.SELECTION, "PCR");
    changes.put(Field.STRATEGY, "WGS");
    assertFieldValues("changes pre-save", changes, page);
    LibraryPage page2 = page.save();
    assertNotNull(page2);
    assertFieldValues("changes post-save", changes, page2);
    DetailedLibrary lib = (DetailedLibrary) getSession().get(LibraryImpl.class, 110003L);
    assertDetailedLibraryAttributes(changes, lib);
}
Also used : Field(uk.ac.bbsrc.tgac.miso.webapp.integrationtest.page.LibraryPage.Field) LibraryImpl(uk.ac.bbsrc.tgac.miso.core.data.impl.LibraryImpl) LibraryPage(uk.ac.bbsrc.tgac.miso.webapp.integrationtest.page.LibraryPage) DetailedLibrary(uk.ac.bbsrc.tgac.miso.core.data.DetailedLibrary) Test(org.junit.Test)

Example 2 with Field

use of uk.ac.bbsrc.tgac.miso.webapp.integrationtest.page.LibraryPage.Field in project miso-lims by miso-lims.

the class LibraryPageIT method testDiscardedEffects.

@Test
public void testDiscardedEffects() throws Exception {
    // goal: ensure that discarding a Library affects volume as expected
    LibraryPage page = LibraryPage.get(getDriver(), getBaseUrl(), 110004L);
    assertEquals("5.0", page.getField(Field.VOLUME));
    assertTrue(page.isEditable(Field.VOLUME));
    page.setField(Field.DISCARDED, "true");
    assertFalse(page.isEditable(Field.VOLUME));
    page.setField(Field.DISCARDED, "false");
    assertTrue(page.isEditable(Field.VOLUME));
    assertEquals("5.0", page.getField(Field.VOLUME));
    page.setField(Field.DISCARDED, "true");
    assertFalse(page.isEditable(Field.VOLUME));
    LibraryPage page2 = page.save();
    Map<Field, String> changes = Maps.newLinkedHashMap();
    changes.put(Field.DISCARDED, "true");
    changes.put(Field.VOLUME, "0.0");
    assertFieldValues("changes post-save", changes, page2);
    DetailedLibrary lib = (DetailedLibrary) getSession().get(LibraryImpl.class, 110004L);
    assertTrue(lib.isDiscarded());
    assertEquals(0, lib.getVolume().compareTo(BigDecimal.ZERO));
}
Also used : Field(uk.ac.bbsrc.tgac.miso.webapp.integrationtest.page.LibraryPage.Field) LibraryImpl(uk.ac.bbsrc.tgac.miso.core.data.impl.LibraryImpl) LibraryPage(uk.ac.bbsrc.tgac.miso.webapp.integrationtest.page.LibraryPage) DetailedLibrary(uk.ac.bbsrc.tgac.miso.core.data.DetailedLibrary) Test(org.junit.Test)

Example 3 with Field

use of uk.ac.bbsrc.tgac.miso.webapp.integrationtest.page.LibraryPage.Field in project miso-lims by miso-lims.

the class LibraryPageIT method testRemoveValues.

@Test
public void testRemoveValues() throws Exception {
    LibraryPage page = LibraryPage.get(getDriver(), getBaseUrl(), 110002L);
    // check initial values
    Map<Field, String> fields = Maps.newLinkedHashMap();
    fields.put(Field.ID, "110002");
    fields.put(Field.NAME, "LIB110002");
    fields.put(Field.ALIAS, "1LIB_0001_Ly_P_PE_252_WG");
    fields.put(Field.BARCODE, "libbar110002");
    fields.put(Field.DESCRIPTION, "libdesc110002");
    fields.put(Field.CREATION_DATE, "2017-07-24");
    fields.put(Field.PLATFORM, "Illumina");
    fields.put(Field.LIBRARY_TYPE, "Paired End");
    fields.put(Field.DESIGN, "WG");
    fields.put(Field.DESIGN_CODE, "WG (Whole Genome)");
    fields.put(Field.SELECTION, "PCR");
    fields.put(Field.STRATEGY, "WGS");
    fields.put(Field.INDEX_FAMILY, "Dual Index 6bp");
    fields.put(Field.INDEX_1, "A01 (AAACCC)");
    fields.put(Field.INDEX_2, "B01 (AAATTT)");
    fields.put(Field.DETAILED_QC_STATUS, "Failed: QC");
    fields.put(Field.LOW_QUALITY, "false");
    fields.put(Field.SIZE, "252");
    fields.put(Field.VOLUME, "4.0");
    fields.put(Field.DISCARDED, "false");
    fields.put(Field.LOCATION, "lib_location_110002");
    fields.put(Field.BOX_LOCATION, "n/a");
    fields.put(Field.KIT, "Test Kit");
    fields.put(Field.CONCENTRATION, "6.3");
    fields.put(Field.ARCHIVED, "false");
    assertFieldValues("loaded", fields, page);
    // make changes
    Map<Field, String> changes = Maps.newLinkedHashMap();
    changes.put(Field.BARCODE, null);
    changes.put(Field.DESCRIPTION, null);
    changes.put(Field.DESIGN, "None");
    changes.put(Field.SELECTION, "None");
    changes.put(Field.STRATEGY, "None");
    changes.put(Field.INDEX_FAMILY, "No indices");
    changes.put(Field.DETAILED_QC_STATUS, "Not Ready");
    changes.put(Field.SIZE, null);
    changes.put(Field.VOLUME, null);
    changes.put(Field.LOCATION, null);
    changes.put(Field.CONCENTRATION, null);
    page.setFields(changes);
    // copy unchanged
    fields.forEach((key, val) -> {
        if (!changes.containsKey(key))
            changes.put(key, val);
    });
    changes.remove(Field.INDEX_1);
    changes.remove(Field.INDEX_2);
    assertFieldValues("changes pre-save", changes, page);
    LibraryPage page2 = page.save();
    assertNotNull(page2);
    assertFieldValues("changes post-save", changes, page2);
    DetailedLibrary lib = (DetailedLibrary) getSession().get(LibraryImpl.class, 110002L);
    assertDetailedLibraryAttributes(changes, lib);
}
Also used : Field(uk.ac.bbsrc.tgac.miso.webapp.integrationtest.page.LibraryPage.Field) LibraryImpl(uk.ac.bbsrc.tgac.miso.core.data.impl.LibraryImpl) LibraryPage(uk.ac.bbsrc.tgac.miso.webapp.integrationtest.page.LibraryPage) DetailedLibrary(uk.ac.bbsrc.tgac.miso.core.data.DetailedLibrary) Test(org.junit.Test)

Example 4 with Field

use of uk.ac.bbsrc.tgac.miso.webapp.integrationtest.page.LibraryPage.Field in project miso-lims by miso-lims.

the class LibraryPageIT method testChangeValues.

@Test
public void testChangeValues() throws Exception {
    LibraryPage page = LibraryPage.get(getDriver(), getBaseUrl(), 110001L);
    // check initial values
    Map<Field, String> fields = Maps.newLinkedHashMap();
    fields.put(Field.ID, "110001");
    fields.put(Field.NAME, "LIB110001");
    fields.put(Field.ALIAS, "1LIB_0001_Ly_P_PE_251_WG");
    fields.put(Field.BARCODE, "libbar110001");
    fields.put(Field.DESCRIPTION, "libdesc110001");
    fields.put(Field.CREATION_DATE, "2017-07-24");
    fields.put(Field.PLATFORM, "Illumina");
    fields.put(Field.LIBRARY_TYPE, "Paired End");
    fields.put(Field.DESIGN, "None");
    fields.put(Field.DESIGN_CODE, "WG (Whole Genome)");
    fields.put(Field.SELECTION, "PCR");
    fields.put(Field.STRATEGY, "WGS");
    fields.put(Field.INDEX_FAMILY, "Dual Index 6bp");
    fields.put(Field.INDEX_1, "A01 (AAACCC)");
    fields.put(Field.INDEX_2, "B01 (AAATTT)");
    fields.put(Field.DETAILED_QC_STATUS, "Failed: QC");
    fields.put(Field.LOW_QUALITY, "false");
    fields.put(Field.SIZE, "251");
    fields.put(Field.VOLUME, "2.5");
    fields.put(Field.DISCARDED, "false");
    fields.put(Field.LOCATION, null);
    fields.put(Field.BOX_LOCATION, "n/a");
    fields.put(Field.KIT, "Test Kit");
    fields.put(Field.CONCENTRATION, "10.0");
    fields.put(Field.ARCHIVED, "false");
    assertFieldValues("loaded", fields, page);
    // make changes
    Map<Field, String> changes = Maps.newLinkedHashMap();
    changes.put(Field.ALIAS, "1LIB_0001_Ly_P_PE_151_WG");
    changes.put(Field.BARCODE, "newbarcode");
    changes.put(Field.DESCRIPTION, "libdesc_changed_110001");
    changes.put(Field.LIBRARY_TYPE, "Total RNA");
    changes.put(Field.DESIGN_CODE, "MR (mRNA)");
    changes.put(Field.SELECTION, "cDNA");
    changes.put(Field.STRATEGY, "RNA-Seq");
    changes.put(Field.INDEX_FAMILY, "Single Index 6bp");
    changes.put(Field.INDEX_1, "Index 01 (AAAAAA)");
    changes.put(Field.DETAILED_QC_STATUS, "Ready");
    changes.put(Field.LOW_QUALITY, "true");
    changes.put(Field.SIZE, "151");
    changes.put(Field.VOLUME, "0.5");
    changes.put(Field.LOCATION, "on the floor");
    changes.put(Field.KIT, "Test Kit Two");
    changes.put(Field.CONCENTRATION, "8.33");
    changes.put(Field.ARCHIVED, "true");
    page.setFields(changes);
    // copy unchanged
    fields.forEach((key, val) -> {
        if (!changes.containsKey(key))
            changes.put(key, val);
    });
    changes.remove(Field.INDEX_2);
    assertFieldValues("changes pre-save", changes, page);
    LibraryPage page2 = page.save();
    assertNotNull(page2);
    assertFieldValues("changes post-save", changes, page2);
    DetailedLibrary lib = (DetailedLibrary) getSession().get(LibraryImpl.class, 110001L);
    assertDetailedLibraryAttributes(changes, lib);
}
Also used : Field(uk.ac.bbsrc.tgac.miso.webapp.integrationtest.page.LibraryPage.Field) LibraryImpl(uk.ac.bbsrc.tgac.miso.core.data.impl.LibraryImpl) LibraryPage(uk.ac.bbsrc.tgac.miso.webapp.integrationtest.page.LibraryPage) DetailedLibrary(uk.ac.bbsrc.tgac.miso.core.data.DetailedLibrary) Test(org.junit.Test)

Example 5 with Field

use of uk.ac.bbsrc.tgac.miso.webapp.integrationtest.page.LibraryPage.Field in project miso-lims by miso-lims.

the class LibraryPageIT method testDesignEffects.

@Test
public void testDesignEffects() throws Exception {
    // goal: ensure the Library Design dropdown affects other options as expected
    LibraryPage page = LibraryPage.get(getDriver(), getBaseUrl(), 110005L);
    Map<Field, String> fields = Maps.newLinkedHashMap();
    fields.put(Field.DESIGN, "None");
    fields.put(Field.DESIGN_CODE, "EX (Exome)");
    fields.put(Field.SELECTION, "None");
    fields.put(Field.STRATEGY, "None");
    assertFieldValues("loaded", fields, page);
    assertTrue(page.isEditable(Field.DESIGN_CODE));
    assertTrue(page.isEditable(Field.SELECTION));
    assertTrue(page.isEditable(Field.STRATEGY));
    page.setField(Field.DESIGN, "WG");
    // fields affected by design
    fields.put(Field.DESIGN, "WG");
    fields.put(Field.DESIGN_CODE, "WG (Whole Genome)");
    fields.put(Field.SELECTION, "PCR");
    fields.put(Field.STRATEGY, "WGS");
    assertFieldValues("loaded", fields, page);
    assertFalse(page.isEditable(Field.DESIGN_CODE));
    assertFalse(page.isEditable(Field.SELECTION));
    assertFalse(page.isEditable(Field.STRATEGY));
    page.setField(Field.DESIGN, "None");
    fields.put(Field.DESIGN, "None");
    assertFieldValues("loaded", fields, page);
    assertTrue(page.isEditable(Field.DESIGN_CODE));
    assertTrue(page.isEditable(Field.SELECTION));
    assertTrue(page.isEditable(Field.STRATEGY));
}
Also used : Field(uk.ac.bbsrc.tgac.miso.webapp.integrationtest.page.LibraryPage.Field) LibraryPage(uk.ac.bbsrc.tgac.miso.webapp.integrationtest.page.LibraryPage) Test(org.junit.Test)

Aggregations

Test (org.junit.Test)5 LibraryPage (uk.ac.bbsrc.tgac.miso.webapp.integrationtest.page.LibraryPage)5 Field (uk.ac.bbsrc.tgac.miso.webapp.integrationtest.page.LibraryPage.Field)5 DetailedLibrary (uk.ac.bbsrc.tgac.miso.core.data.DetailedLibrary)4 LibraryImpl (uk.ac.bbsrc.tgac.miso.core.data.impl.LibraryImpl)4