Skip to content

Commit 0bca4a3

Browse files
authored
Add e2e test for dataset paths (#8641)
1 parent a410e8f commit 0bca4a3

File tree

2 files changed

+59
-0
lines changed

2 files changed

+59
-0
lines changed

frontend/javascripts/test/backend-snapshot-tests/__snapshots__/datasets.e2e.ts.snap

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,33 @@
11
// Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html
22

3+
exports[`Dataset API (E2E) > Dataset Paths 1`] = `
4+
[
5+
{
6+
"layerName": "segmentation",
7+
"magLinkInfos": [
8+
{
9+
"linkedMags": [],
10+
"mag": {
11+
"dataLayerName": "segmentation",
12+
"dataSourceId": {
13+
"name": "test-dataset",
14+
"team": "Organization_X",
15+
},
16+
"hasLocalData": true,
17+
"mag": [
18+
1,
19+
1,
20+
1,
21+
],
22+
"path": "Organization_X/test-dataset/segmentation/1/",
23+
"realPath": "Organization_X/test-dataset/segmentation/1/",
24+
},
25+
},
26+
],
27+
},
28+
]
29+
`;
30+
331
exports[`Dataset API (E2E) > Zarr 3 streaming 1`] = `"{"zarr_format":3,"node_type":"group","attributes":{"ome":{"version":"0.5","multiscales":[{"name":"segmentation","axes":[{"name":"c","type":"channel"},{"name":"x","type":"space","unit":"nanometer"},{"name":"y","type":"space","unit":"nanometer"},{"name":"z","type":"space","unit":"nanometer"}],"datasets":[{"path":"1","coordinateTransformations":[{"type":"scale","scale":[1,11.24,11.24,28]}]}]}]}}}"`;
432

533
exports[`Dataset API (E2E) > Zarr 3 streaming 2`] = `"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAA="`;

frontend/javascripts/test/backend-snapshot-tests/datasets.e2e.ts

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -138,6 +138,37 @@ describe("Dataset API (E2E)", () => {
138138
expect(base64).toMatchSnapshot();
139139
});
140140

141+
it("Dataset Paths", async () => {
142+
const paths = await fetch(
143+
"/api/datastores/localhost/datasources/Organization_X/test-dataset/paths?key=something-secure",
144+
);
145+
const pathsJson = await paths.json();
146+
147+
// Dataset paths are absolute, we will relativize them here to make the snapshot stable
148+
const makeRelative = (path: string) =>
149+
path.split("Organization_X")[1] ? "Organization_X" + path.split("Organization_X")[1] : path;
150+
151+
interface MagLink {
152+
mag: {
153+
path: string;
154+
realPath: string;
155+
};
156+
}
157+
158+
interface PathInfo {
159+
magLinkInfos: MagLink[];
160+
}
161+
162+
pathsJson.forEach((pathInfo: PathInfo) =>
163+
pathInfo.magLinkInfos.forEach((magLink: MagLink) => {
164+
magLink.mag.path = makeRelative(magLink.mag.path);
165+
magLink.mag.realPath = makeRelative(magLink.mag.realPath);
166+
}),
167+
);
168+
169+
expect(pathsJson).toMatchSnapshot();
170+
});
171+
141172
/**
142173
* WARNING: This test creates a side effect by uploading and saving a dataset in your binaryData folder.
143174
* There is no clean up after the test, and the dataset will remain after each test run.

0 commit comments

Comments
 (0)