Skip to content
Merged
Changes from all commits
Commits
Show all changes
87 commits
Select commit Hold shift + click to select a range
a066d53
Support field type conversion for Multi Choice fields
XingY Jan 22, 2026
fc22b72
crlf
XingY Jan 22, 2026
cbb199b
Port Is empty filter changes from fb_mvtc_empty branch
XingY Jan 23, 2026
98f19f2
fix display
XingY Jan 24, 2026
beefa2a
Merge remote-tracking branch 'origin/develop' into fb_mvtc_convert
XingY Jan 25, 2026
9fa7270
Handle special characters
XingY Jan 26, 2026
e717afa
Merge remote-tracking branch 'origin/develop' into fb_mvtc_convert
XingY Jan 26, 2026
4c4d519
clean
XingY Jan 27, 2026
b8a163d
Merge remote-tracking branch 'origin/develop' into fb_mvtc_convert
XingY Jan 27, 2026
5a79008
Merge remote-tracking branch 'origin/develop' into fb_mvtc_convert
XingY Jan 28, 2026
6d55319
merge from develop
XingY Jan 28, 2026
e37e2ca
new changes for test
DariaBod Jan 29, 2026
002fe51
Merge branch 'develop' into fb_mvtc_convert
labkey-danield Jan 29, 2026
1e6c366
Merge branch 'fb_mvtc_convert' into fb_mvtc_test
DariaBod Jan 29, 2026
1837728
Merge remote-tracking branch 'origin/develop' into fb_mvtc_convert
XingY Jan 30, 2026
aab5687
Merge branch 'fb_mvtc_convert' into fb_mvtc_test
DariaBod Jan 30, 2026
0674ec9
fix column name with space
XingY Jan 30, 2026
4273019
fix schema name
XingY Jan 30, 2026
8a58093
Merge branch 'fb_mvtc_convert' into fb_mvtc_test
DariaBod Jan 30, 2026
3bb0c5f
fix encoding
XingY Jan 30, 2026
f6a4e81
merge from develop
XingY Feb 1, 2026
d205e32
Enable MVTC fields in sample finder. Remove experimental flag
XingY Feb 1, 2026
6aa0ee7
crlf
XingY Feb 2, 2026
e75c688
skip sql server
XingY Feb 2, 2026
203588b
Merge branch 'fb_mvtc_convert' into fb_mvtc_test
DariaBod Feb 2, 2026
dc1bd5d
merge from develop
XingY Feb 3, 2026
4934b5e
Switch to use columnInfo.convert
XingY Feb 3, 2026
2a293ed
Code review changes
XingY Feb 3, 2026
5f0de7e
Merge branch 'fb_mvtc_convert' into fb_mvtc_test
DariaBod Feb 3, 2026
daff069
Fix type
XingY Feb 3, 2026
f93bf29
Merge branch 'fb_mvtc_convert' into fb_mvtc_test
DariaBod Feb 4, 2026
e3d9a7c
Fix biologics vector selection BiologicsAPITest.setVectorAliasViaLega…
XingY Feb 4, 2026
646a3bf
Fix dataclass update
XingY Feb 4, 2026
4e66d33
bug fixes
XingY Feb 5, 2026
baa5d97
Merge branch 'fb_mvtc_convert' into fb_mvtc_test
DariaBod Feb 5, 2026
79863e8
fix date format in name expression
XingY Feb 5, 2026
bd11124
bug fixes
XingY Feb 5, 2026
4a5a3e1
merge from develop
XingY Feb 5, 2026
901cd43
bug fixes: natural sorting with upper case first, remove default valu…
XingY Feb 6, 2026
c34f952
Disallow multi choice
XingY Feb 6, 2026
c0b4c59
api test for dataclass
XingY Feb 6, 2026
b5df9c3
Fix dataclass attachment on update
XingY Feb 6, 2026
51d9fd2
merge from develop
XingY Feb 6, 2026
1e2d8ee
merge from develop
XingY Feb 6, 2026
2030ab1
fix allow multi check
XingY Feb 6, 2026
1cfa4ba
Merge branch 'fb_mvtc_convert' into fb_mvtc_test
DariaBod Feb 6, 2026
2bc2ff7
Fix mvfk input
XingY Feb 7, 2026
0d8a398
Update warning msg on data type convert
XingY Feb 7, 2026
5c7f5f9
Merge branch 'fb_mvtc_convert' into fb_mvtc_test
DariaBod Feb 9, 2026
3c6ec8e
Bug fix: edit in grid includes unchanged mvtc in audit, saved custom …
XingY Feb 10, 2026
156969e
Merge remote-tracking branch 'origin/develop' into fb_mvtc_convert
XingY Feb 10, 2026
adc4b4a
Bug fix: edit in grid includes unchanged mvtc in audit, saved custom …
XingY Feb 10, 2026
96a9030
Merge branch 'fb_mvtc_convert' into fb_mvtc_test
DariaBod Feb 10, 2026
66ad632
merge from develop
XingY Feb 13, 2026
37cf9c4
publish
XingY Feb 13, 2026
2974700
fix empty
XingY Feb 13, 2026
7714466
Merge remote-tracking branch 'origin/develop' into fb_mvtc_convert
XingY Feb 13, 2026
4a95b50
add comment
XingY Feb 13, 2026
5e122cf
Merge branch 'fb_mvtc_convert' into fb_mvtc_test
DariaBod Feb 13, 2026
48ad37a
bug fixes
XingY Feb 13, 2026
dc315d6
bug fixes
XingY Feb 14, 2026
cc4bafd
fixed study and list tests
DariaBod Feb 16, 2026
f52d0cd
Merge branch 'fb_mvtc_convert' into fb_mvtc_test
DariaBod Feb 16, 2026
9f3ab83
add screenshot
DariaBod Feb 16, 2026
8039bd0
Test multi choice field for Dataset (#7411)
DariaBod Feb 17, 2026
76795c4
Merge branch 'develop' into fb_mvtc_convert
labkey-danield Feb 17, 2026
a24910a
merge from develop
XingY Feb 17, 2026
36a8930
Merge branch 'fb_mvtc_convert' into fb_mvtc_test
DariaBod Feb 17, 2026
fa527fa
Python does have a filter operator "enum"
labkey-tchad Feb 17, 2026
aacb456
LKS dataregion display
XingY Feb 17, 2026
7a0e443
bring back experimental flag
XingY Feb 17, 2026
4cd42ea
merge from develop
XingY Feb 17, 2026
c19b7af
fix more filter display
XingY Feb 17, 2026
d3b4574
Merge branch 'develop' into fb_mvtc_test
DariaBod Feb 17, 2026
74b1585
fix Date
DariaBod Feb 17, 2026
4e71006
Revert convertType to use DBTable instead of QueryTable due to MVIndi…
XingY Feb 18, 2026
482f94e
Merge remote-tracking branch 'origin/develop' into fb_mvtc_convert
XingY Feb 18, 2026
195dac8
merge from develop
XingY Feb 18, 2026
b9667d4
Fix update lock value warning
XingY Feb 18, 2026
8d2df4c
Fix alias
XingY Feb 18, 2026
b685f9d
Merge remote-tracking branch 'origin/develop' into fb_mvtc_convert
XingY Feb 18, 2026
6a52b48
merge from develop
XingY Feb 18, 2026
cf31ab2
Fixing build break.
labkey-danield Feb 18, 2026
7c21e3e
Merge branch 'develop' into fb_mvtc_test
DariaBod Feb 18, 2026
7e29b27
Merge branch 'develop' into fb_mvtc_test
DariaBod Feb 18, 2026
5fc88d0
clean unused import
DariaBod Feb 18, 2026
ec7190e
Merge branch 'develop' into fb_mvtc_test
labkey-danield Feb 18, 2026
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
64 changes: 64 additions & 0 deletions study/test/src/org/labkey/test/tests/study/StudyDatasetsTest.java
Original file line number Diff line number Diff line change
Expand Up @@ -52,7 +52,9 @@
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;

import static java.time.LocalDate.now;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertTrue;
Expand Down Expand Up @@ -180,6 +182,68 @@ public void testDatasets()
checkDataElementsPresent("B", DATASET_B_MERGE.split("\t|\n"));
}

@Test
public void testDatasetWithMultiChoice()
{
String datasetName = "Test dataset";
DatasetDesignerPage definitionPage = _studyHelper.goToManageDatasets()
.clickCreateNewDataset()
.setName(datasetName);

List<String> tcValues = new ArrayList<>();
tcValues.add("~`!@#$%^&*()_+=[]{}\\|';:\"<>?,./");
tcValues.add("Blue");
tcValues.add("Green");

FieldDefinition fieldDefinition = new FieldDefinition("MCF", FieldDefinition.ColumnType.MultiValueTextChoice);
fieldDefinition.setMultiChoiceValues(tcValues);
FieldDefinition textChoice = new FieldDefinition("CF", FieldDefinition.ColumnType.TextChoice);
textChoice.setTextChoiceValues(tcValues);

DomainFormPanel panel = definitionPage.getFieldsPanel();
panel.addField(fieldDefinition);
panel.addField(textChoice);
definitionPage.clickSave();

Map<String, Object> values = new HashMap<>();
values.put("MouseId", "999320016");
values.put("SequenceNum", "0.1");
values.put("date", now());
values.put("MCF", tcValues.subList(0, 2));
values.put("CF", tcValues.get(1));

navigateToFolder(getProjectName(), getFolderName());
_studyHelper.goToManageDatasets()
.selectDatasetByName(datasetName)
.clickViewData()
.insertDatasetRow()
.insert(values);

DataRegionTable drt = new DataRegionTable("Dataset", getDriver());
String expectedList = ((List<String>) values.get("MCF")).stream()
.sorted()
.collect(Collectors.joining(" "));
checker().verifyEquals("Field data didn't import as expected", expectedList,
drt.getDataAsText(0, "MCF"));
checker().verifyEquals("Field data didn't import as expected", values.get("CF"),
drt.getDataAsText(0, "CF"));
checker().screenShotIfNewError("Create_Dataset_With_Multi_Choice");

Map<String, Object> updatedValues = new HashMap<>();
updatedValues.put("MCF", tcValues.subList(1, 3));
updatedValues.put("CF", (String) tcValues.get(2));
drt.clickEditRow(0)
.update(updatedValues);
expectedList = ((List<String>) updatedValues.get("MCF")).stream()
.sorted()
.collect(Collectors.joining(" "));
checker().verifyEquals("Field data didn't import as expected", expectedList,
drt.getDataAsText(0, "MCF"));
checker().verifyEquals("Field data didn't import as expected", updatedValues.get("CF"),
drt.getDataAsText(0, "CF"));
checker().screenShotIfNewError("Update_Dataset_With_Multi_Choice");
}

@Test
public void testDatasetSubjectId()
{
Expand Down