Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
15 changes: 12 additions & 3 deletions src/org/labkey/test/BaseWebDriverTest.java
Original file line number Diff line number Diff line change
Expand Up @@ -2307,8 +2307,12 @@ public NewQueryPage createNewQuery(@NotNull String schemaName, @Nullable String
return new NewQueryPage(getDriver());
}


protected void createQuery(String container, String name, String schemaName, String sql, String xml, boolean inheritable)
{
createQuery(container, name, schemaName, sql, xml, inheritable, null);
}

protected void createQuery(String container, String name, String schemaName, String sql, String xml, boolean inheritable, @Nullable String description)
{
SourceQueryPage sourcePage = createQuery(container, name, schemaName);
sourcePage.setSource(sql);
Expand All @@ -2318,10 +2322,15 @@ protected void createQuery(String container, String name, String schemaName, Str
sourcePage.setMetadataXml(xml);
}
sourcePage.clickSave(); // This seems very slow... maybe clickSaveAndFinish() instead?
if (inheritable)
if (inheritable || !StringUtils.isEmpty(description))
{
String queryURL = buildURL("query", getProjectName(), "begin", Map.of("schemaName", schemaName));
beginAt(queryURL);
editQueryProperties(schemaName, name);
selectOptionByValue(Locator.name("inheritable"), "true");
if (inheritable)
selectOptionByValue(Locator.name("inheritable"), "true");
if (description != null)
setFormElement(Locator.tagWithName("textarea", "description"), description);
clickButton("Save");
}
}
Expand Down
12 changes: 11 additions & 1 deletion src/org/labkey/test/tests/query/QueryLookupTest.java
Original file line number Diff line number Diff line change
Expand Up @@ -15,13 +15,16 @@
import org.labkey.test.util.DataRegionTable;
import org.labkey.test.util.DomainUtils;
import org.labkey.test.util.EscapeUtil;
import org.labkey.test.util.TestDataGenerator;
import org.labkey.test.util.data.TestDataUtils;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.Map;

import static org.labkey.test.WebTestHelper.buildURL;


@Category({Daily.class})
public class QueryLookupTest extends BaseWebDriverTest
Expand Down Expand Up @@ -88,14 +91,21 @@ public void testLookupToQueryColumn() throws Exception
""".replace("[query_name]", EscapeUtil.getMarkupEscapedValue(queryName));
// create a query on the list
goToSchemaBrowser();
createQuery(getProjectName(), queryName, "lists", querySql, queryXml, false);
createQuery(getProjectName(), queryName, "lists", querySql, queryXml, false, queryName);

// now create another list, with a lookup to the custom query
new IntListDefinition(secondList, "Key")
.setFields(List.of(NAME_COLUMN.getFieldDefinition(),
new FieldDefinition("lookup", new FieldDefinition.StringLookup(getProjectName(), "lists", queryName))))
.create(createDefaultConnection(), PROJECT_NAME);

// Issue 53846: Character limit on query property limit throws unhandled exception
String queryURL = buildURL("query", getProjectName(), "begin", Map.of("schemaName", "lists"));
beginAt(queryURL);
editQueryProperties("lists", queryName);
setFormElement(Locator.tagWithName("textarea", "description"), TestDataGenerator.randomString(300));
clickButton("Save");

// insert data into the list
goToManageLists();
waitAndClickAndWait(Locator.linkWithText(secondList));
Expand Down