Skip to content

Commit a9b1c39

Browse files
test setRequired() (#2937)
#### Rationale Test that field (non-MVTC) can't be set to required if null is present regression test for change in LabKey/platform#7549 #### Related Pull Requests [- <!-- list of links to related pull requests (replace this comment) -->](LabKey/platform#7549) #### Changes - <!-- list of descriptions of changes that are worth noting (replace this comment) -->
1 parent 6e1d80d commit a9b1c39

1 file changed

Lines changed: 46 additions & 0 deletions

File tree

src/org/labkey/test/tests/list/ListTest.java

Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1396,6 +1396,52 @@ public void doRenameFieldsTest()
13961396
assertTextBefore(newFieldName, origFieldName);
13971397
}
13981398

1399+
1400+
@Test
1401+
public void requiredFieldsTest()
1402+
{
1403+
log("Test changing required property of field");
1404+
String listName = "requiredColList";
1405+
String fieldA = "c$a";
1406+
String fieldB = "c_b";
1407+
1408+
_listHelper.createList(PROJECT_VERIFY, listName, "key",
1409+
new FieldDefinition(fieldA, ColumnType.String).setDescription("first column").setRequired(false),
1410+
new FieldDefinition(fieldB, ColumnType.String).setDescription("second column").setRequired(false)
1411+
);
1412+
1413+
// insert a row with a NULL value and NON-NULL value
1414+
Map<String, String> row = new HashMap<>();
1415+
row.put(fieldA, "not null");
1416+
row.put(fieldB, "");
1417+
_listHelper.insertNewRow(row, false);
1418+
row.put(fieldA, "still not null");
1419+
row.put(fieldB, "also not null");
1420+
_listHelper.insertNewRow(row, false);
1421+
1422+
// fieldA can be set to required==true
1423+
EditListDefinitionPage listDefinitionPage = _listHelper.goToEditDesign(listName);
1424+
listDefinitionPage.getFieldsPanel()
1425+
.getField(fieldA)
1426+
.setRequiredField(true);
1427+
listDefinitionPage.clickSave();
1428+
1429+
// fieldB can not be set to required==true
1430+
listDefinitionPage = _listHelper.goToEditDesign(listName);
1431+
listDefinitionPage.getFieldsPanel()
1432+
.getField(fieldB)
1433+
.setRequiredField(true);
1434+
List<String> errors = listDefinitionPage.clickSaveExpectingErrors();
1435+
assertEquals(2, errors.size());
1436+
assertEquals("The property \"" + fieldB + "\" cannot be required when it contains rows with blank values.", errors.get(0));
1437+
assertEquals("Please correct errors in " + listName + " before saving.", errors.get(1));
1438+
1439+
goToProjectHome();
1440+
clickAndWait(Locator.linkWithText(listName));
1441+
_listHelper.deleteList();
1442+
}
1443+
1444+
13991445
@Test
14001446
public void exportPhiFileColumn() throws Exception
14011447
{

0 commit comments

Comments
 (0)