Skip to content

Commit defdee0

Browse files
committed
StudyDatasetsTest test case for 53431
1 parent 295134b commit defdee0

1 file changed

Lines changed: 36 additions & 0 deletions

File tree

study/test/src/org/labkey/test/tests/study/StudyDatasetsTest.java

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@
3333
import org.labkey.test.pages.ImportDataPage;
3434
import org.labkey.test.pages.TimeChartWizard;
3535
import org.labkey.test.pages.study.DatasetDesignerPage;
36+
import org.labkey.test.params.FieldInfo;
3637
import org.labkey.test.util.AuditLogHelper;
3738
import org.labkey.test.util.DataRegionTable;
3839
import org.labkey.test.util.LogMethod;
@@ -41,6 +42,7 @@
4142
import org.labkey.test.util.TestDataGenerator;
4243
import org.openqa.selenium.WebElement;
4344

45+
import java.io.File;
4446
import java.util.ArrayList;
4547
import java.util.Arrays;
4648
import java.util.Collections;
@@ -212,6 +214,40 @@ public void testDatasetSubjectId()
212214
clickTab("Overview");
213215
}
214216

217+
@Test
218+
public void testDatasetRoundTripWithSpecialChars() // Issue 53431
219+
{
220+
goToManageStudy();
221+
String datasetName = "Issue 53431";
222+
FieldInfo fieldInfo = FieldInfo.random("test,./field");
223+
DatasetDesignerPage definitionPage = _studyHelper.goToManageDatasets()
224+
.clickCreateNewDataset()
225+
.setName(datasetName);
226+
DomainFormPanel panel = definitionPage.getFieldsPanel();
227+
panel.manuallyDefineFields(fieldInfo.getFieldDefinition());
228+
definitionPage.clickSave();
229+
importDatasetData(datasetName, "mouseId\tsequenceNum\t\"" + fieldInfo.getName() + "\"\n", "a1\t1\ttest123", "All data");
230+
231+
File exportedFolder = exportFolderAsZip(null, false, false, false, false);
232+
deleteStudy();
233+
importFolderFromZip(exportedFolder, false, 2, false);
234+
_studyHelper.goToManageDatasets()
235+
.selectDatasetByName(datasetName)
236+
.clickViewData();
237+
DataRegionTable drt = new DataRegionTable("Dataset", getDriver());
238+
checker().verifyEquals("Field data didn't import as expected", "test123",
239+
drt.getDataAsText(0, fieldInfo));
240+
}
241+
242+
private void deleteStudy()
243+
{
244+
clickTab("Manage");
245+
clickButton("Delete Study");
246+
checkCheckbox(Locator.checkboxByName("confirm"));
247+
clickButton("Delete", WAIT_FOR_PAGE * 2);
248+
}
249+
250+
215251
@LogMethod
216252
protected void createDataset(@LoggedParam String name, @Nullable String error)
217253
{

0 commit comments

Comments
 (0)