Skip to content

Commit 390114e

Browse files
committed
Merge branch 'develop' into fb_issue54062
2 parents 3dd2360 + 805fc68 commit 390114e

5 files changed

Lines changed: 64 additions & 32 deletions

File tree

src/org/labkey/test/components/domain/ConditionalFormatPanel.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -151,7 +151,7 @@ public ConditionalFormatPanel setFillColor(String colorHex)
151151
expand();
152152
elementCache().fillColor.click();
153153
getWrapper().click(Locator.tagWithAttribute("div", "title", colorHex));
154-
getWrapper().click(Locator.tagWithClass("div", "domain-validator-color-cover")); // click elsewhere on the dialog to close the color picker
154+
getWrapper().actionClick(elementCache().fillColor); // close the color picker
155155
return this;
156156
}
157157

src/org/labkey/test/components/ui/grids/ResponsiveGrid.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -972,7 +972,7 @@ static public Locator.XPathLocator responsiveGridByBaseId(String baseGridId)
972972

973973
static final Locator loadingGrid = Locator.css("tbody tr.grid-loading");
974974
static final Locator emptyGrid = Locator.css("tbody tr.grid-empty");
975-
static final Locator spinner = Locator.css("span i.fa-spinner");
975+
static final Locator spinner = Locator.byClass("fa-spinner");
976976
static final Locator headerCells = Locator.tagWithClass("th", "grid-header-cell");
977977
static public Locator.XPathLocator headerCellBody(String label)
978978
{

src/org/labkey/test/params/FieldInfo.java

Lines changed: 17 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -55,12 +55,28 @@ public FieldInfo(String name)
5555
this(name, null, null);
5656
}
5757

58+
/**
59+
* Creates a FieldInfo with a semi-random name
60+
*/
61+
public static FieldInfo random(String namePart, ColumnType columnType, DomainUtils.DomainKind domainKind, Integer maxLength)
62+
{
63+
return new FieldInfo(FieldKey.fromParts(TestDataGenerator.randomFieldName(namePart, domainKind, maxLength)), null, columnType, null, namePart);
64+
}
65+
5866
/**
5967
* Creates a FieldInfo with a semi-random name
6068
*/
6169
public static FieldInfo random(String namePart, ColumnType columnType, DomainUtils.DomainKind domainKind)
6270
{
63-
return new FieldInfo(FieldKey.fromParts(TestDataGenerator.randomFieldName(namePart)), null, columnType, null, namePart);
71+
return random(namePart, columnType, domainKind, null);
72+
}
73+
74+
/**
75+
* Creates a FieldInfo with a semi-random name
76+
*/
77+
public static FieldInfo random(String namePart, ColumnType columnType, int maxLength)
78+
{
79+
return random(namePart, columnType, null, maxLength);
6480
}
6581

6682
/**

src/org/labkey/test/tests/component/EditableGridTest.java

Lines changed: 29 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -51,52 +51,53 @@
5151
@Category({Daily.class})
5252
public class EditableGridTest extends BaseWebDriverTest
5353
{
54+
private static final int MAX_LENGTH = 32; // Avoid excessively long field names to avoid blocking clicks
5455
private static final String EXTRAPOLATING_SAMPLE_TYPE = randomDomainName("ExtrapolatingSampleType");
55-
private static final FieldInfo ASC_STRING = FieldInfo.random("Ascending String");
56-
private static final FieldInfo DESC_STRING = FieldInfo.random("Descending String");
57-
private static final FieldInfo ASC_INT = FieldInfo.random("Ascending Int", ColumnType.Integer);
58-
private static final FieldInfo DESC_INT = FieldInfo.random("Descending Int", ColumnType.Integer);
59-
private static final FieldInfo ASC_DATE = FieldInfo.random("Ascending Date", ColumnType.DateAndTime);
60-
private static final FieldInfo DESC_DATE = FieldInfo.random("Descending Date", ColumnType.DateAndTime);
56+
private static final FieldInfo ASC_STRING = FieldInfo.random("Ascending String", ColumnType.String, MAX_LENGTH);
57+
private static final FieldInfo DESC_STRING = FieldInfo.random("Descending String", ColumnType.String, MAX_LENGTH);
58+
private static final FieldInfo ASC_INT = FieldInfo.random("Ascending Int", ColumnType.Integer, MAX_LENGTH);
59+
private static final FieldInfo DESC_INT = FieldInfo.random("Descending Int", ColumnType.Integer, MAX_LENGTH);
60+
private static final FieldInfo ASC_DATE = FieldInfo.random("Ascending Date", ColumnType.DateAndTime, MAX_LENGTH);
61+
private static final FieldInfo DESC_DATE = FieldInfo.random("Descending Date", ColumnType.DateAndTime, MAX_LENGTH);
6162

6263
private static final String FILLING_SAMPLE_TYPE = randomDomainName("FillingSampleType");
63-
private static final FieldInfo FILL_STRING = FieldInfo.random("Filling String");
64-
private static final FieldInfo FILL_MULTI_LINE = FieldInfo.random("Filling Multi Line", ColumnType.MultiLine);
65-
private static final FieldInfo FILL_INT = FieldInfo.random("Filling Int", ColumnType.Integer);
66-
private static final FieldInfo FILL_DATE = FieldInfo.random("Filling Date", ColumnType.DateAndTime);
64+
private static final FieldInfo FILL_STRING = FieldInfo.random("Filling String", ColumnType.String, MAX_LENGTH);
65+
private static final FieldInfo FILL_MULTI_LINE = FieldInfo.random("Filling Multi Line", ColumnType.MultiLine, MAX_LENGTH);
66+
private static final FieldInfo FILL_INT = FieldInfo.random("Filling Int", ColumnType.Integer, MAX_LENGTH);
67+
private static final FieldInfo FILL_DATE = FieldInfo.random("Filling Date", ColumnType.DateAndTime, MAX_LENGTH);
6768

6869
private static final String PASTING_SAMPLE_TYPE = randomDomainName("PastingSampleType");
69-
private static final FieldInfo PASTE_1 = FieldInfo.random("Paste Column 1");
70-
private static final FieldInfo PASTE_2 = FieldInfo.random("Paste Column 2");
71-
private static final FieldInfo PASTE_3 = FieldInfo.random("Paste Column 3");
72-
private static final FieldInfo PASTE_4 = FieldInfo.random("Paste Column 4");
73-
private static final FieldInfo PASTE_5 = FieldInfo.random("Paste Column 5");
74-
private static final FieldInfo PASTE_ML = FieldInfo.random("Paste Multi Line", ColumnType.MultiLine);
70+
private static final FieldInfo PASTE_1 = FieldInfo.random("Paste Column 1", ColumnType.String, MAX_LENGTH);
71+
private static final FieldInfo PASTE_2 = FieldInfo.random("Paste Column 2", ColumnType.String, MAX_LENGTH);
72+
private static final FieldInfo PASTE_3 = FieldInfo.random("Paste Column 3", ColumnType.String, MAX_LENGTH);
73+
private static final FieldInfo PASTE_4 = FieldInfo.random("Paste Column 4", ColumnType.String, MAX_LENGTH);
74+
private static final FieldInfo PASTE_5 = FieldInfo.random("Paste Column 5", ColumnType.String, MAX_LENGTH);
75+
private static final FieldInfo PASTE_ML = FieldInfo.random("Paste Multi Line", ColumnType.MultiLine, MAX_LENGTH);
7576

7677
private static final List<String> TEXT_CHOICES = Arrays.asList("red", "Orange", "YELLOW");
7778
private static final String LOOKUP_LIST = randomDomainName("Fruits");
7879
private static final List<String> LOOKUP_CHOICES = Arrays.asList("apple", "Orange", "kiwi");
7980

8081
private static final String ALL_TYPE_SAMPLE_TYPE = randomDomainName("AllFieldsSampleType");
8182

82-
private static final FieldInfo STR_FIELD = FieldInfo.random("strCol")
83+
private static final FieldInfo STR_FIELD = FieldInfo.random("strCol", ColumnType.String, MAX_LENGTH)
8384
.customizeFieldDefinition(fd -> fd.setScale(10));
84-
private static final FieldInfo REQ_STR_FIELD = FieldInfo.random("strColReq")
85+
private static final FieldInfo REQ_STR_FIELD = FieldInfo.random("strColReq", ColumnType.String, MAX_LENGTH)
8586
.customizeFieldDefinition(fd -> fd.setScale(10).setRequired(true));
86-
private static final FieldInfo INT_FIELD = FieldInfo.random("intCol", ColumnType.Integer);
87-
private static final FieldInfo REQ_INT_FIELD = FieldInfo.random("intColReq", ColumnType.Integer)
87+
private static final FieldInfo INT_FIELD = FieldInfo.random("intCol", ColumnType.Integer, MAX_LENGTH);
88+
private static final FieldInfo REQ_INT_FIELD = FieldInfo.random("intColReq", ColumnType.Integer, MAX_LENGTH)
8889
.customizeFieldDefinition(fd -> fd.setRequired(true));
89-
private static final FieldInfo DATE_FIELD = FieldInfo.random("dateCol", ColumnType.Date);
90-
private static final FieldInfo REQ_DATETIME_FIELD = FieldInfo.random("datetimeColReq", ColumnType.DateAndTime)
90+
private static final FieldInfo DATE_FIELD = FieldInfo.random("dateCol", ColumnType.Date, MAX_LENGTH);
91+
private static final FieldInfo REQ_DATETIME_FIELD = FieldInfo.random("datetimeColReq", ColumnType.DateAndTime, MAX_LENGTH)
9192
.customizeFieldDefinition(fd -> fd.setRequired(true));
92-
private static final FieldInfo TIME_FIELD = FieldInfo.random("timeCol", ColumnType.Time);
93-
private static final FieldInfo REQ_TIME_FIELD = FieldInfo.random("timeColReq", ColumnType.Time)
93+
private static final FieldInfo TIME_FIELD = FieldInfo.random("timeCol", ColumnType.Time, MAX_LENGTH);
94+
private static final FieldInfo REQ_TIME_FIELD = FieldInfo.random("timeColReq", ColumnType.Time, MAX_LENGTH)
9495
.customizeFieldDefinition(fd -> fd.setRequired(true));
95-
private static final FieldInfo BOOL_FIELD = FieldInfo.random("boolCol", ColumnType.Boolean);
96-
private static final FieldInfo FLOAT_FIELD = FieldInfo.random("floatCol", ColumnType.Decimal);
97-
private static final FieldInfo TEXTCHOICE_FIELD = FieldInfo.random("textchoiceCol", ColumnType.TextChoice)
96+
private static final FieldInfo BOOL_FIELD = FieldInfo.random("boolCol", ColumnType.Boolean, MAX_LENGTH);
97+
private static final FieldInfo FLOAT_FIELD = FieldInfo.random("floatCol", ColumnType.Decimal, MAX_LENGTH);
98+
private static final FieldInfo TEXTCHOICE_FIELD = FieldInfo.random("textchoiceCol", ColumnType.TextChoice, MAX_LENGTH)
9899
.customizeFieldDefinition(fd -> fd.setTextChoiceValues(TEXT_CHOICES));
99-
private static final FieldInfo REQ_TEXTCHOICE_FIELD = FieldInfo.random("textchoiceColReq", ColumnType.TextChoice)
100+
private static final FieldInfo REQ_TEXTCHOICE_FIELD = FieldInfo.random("textchoiceColReq", ColumnType.TextChoice, MAX_LENGTH)
100101
.customizeFieldDefinition(fd -> fd.setRequired(true).setTextChoiceValues(TEXT_CHOICES));
101102
private static final FieldInfo LOOKUP_FIELD = FieldInfo.random("lookupCol", new IntLookup(null, "lists", LOOKUP_LIST));
102103
private static final FieldInfo REQ_LOOKUP_FIELD = FieldInfo.random("lookupColReq", new IntLookup(null, "lists", LOOKUP_LIST))

src/org/labkey/test/util/TestDataGenerator.java

Lines changed: 16 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -612,6 +612,16 @@ public static String randomFieldName(String part)
612612
return randomFieldName(part, null);
613613
}
614614

615+
public static String randomFieldName(String part, int maxLength)
616+
{
617+
return randomFieldName(part, null, null, null, null, maxLength);
618+
}
619+
620+
public static String randomFieldName(String part, @Nullable DomainKind domainKind, Integer maxLength)
621+
{
622+
return randomFieldName(part, null, null, null, domainKind, maxLength);
623+
}
624+
615625
public static String randomFieldName(String part, @Nullable String exclusion)
616626
{
617627
return randomFieldName(part, exclusion, null);
@@ -623,6 +633,11 @@ public static String randomFieldName(String part, @Nullable String exclusion, Do
623633
}
624634

625635
public static String randomFieldName(@NotNull String part, @Nullable Integer numStartChars, @Nullable Integer numEndChars, @Nullable String exclusion, @Nullable DomainKind domainKind)
636+
{
637+
return randomFieldName(part, numStartChars, numEndChars, exclusion, domainKind, null);
638+
}
639+
640+
public static String randomFieldName(@NotNull String part, @Nullable Integer numStartChars, @Nullable Integer numEndChars, @Nullable String exclusion, @Nullable DomainKind domainKind, @Nullable Integer maxLength)
626641
{
627642
DomainKind _domainKind = domainKind == null ? DomainKind.SampleSet : domainKind;
628643

@@ -633,7 +648,7 @@ public static String randomFieldName(@NotNull String part, @Nullable Integer num
633648

634649
int currentTries = 0;
635650
RandomName randomFieldName = randomName(part, getNumChars(numStartChars, 5), getNumChars(numEndChars, 50), chars, exclusion);
636-
while (isDomainAndFieldNameInvalid(_domainKind, null, randomFieldName))
651+
while ((maxLength != null && randomFieldName.name().length() > maxLength) || isDomainAndFieldNameInvalid(_domainKind, null, randomFieldName))
637652
{
638653
randomFieldName = randomName(part, getNumChars(numStartChars, 5), getNumChars(numEndChars, 50), chars, exclusion);
639654
if (++currentTries >= MAX_RANDOM_TRIES)

0 commit comments

Comments
 (0)