Bin
2025-12-16 9e0b2ba2c317b1a86212f24cbae3195ad1f3dbfa
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
Feature("Readonly Results");
 
const imageExamples = new DataTable(["example", "regionName"]);
 
imageExamples.add([require("../../../examples/timeseries-url-indexed"), "Run"]);
 
Data(imageExamples).Scenario(
  "Timeseries Readonly Results",
  async ({ I, current, LabelStudio, AtOutliner, AtLabels, Tools }) => {
    I.amOnPage("/");
    const { config, result: r, data } = current.example;
 
    // mark first result as readonly
    const result = r.map((r, i) => (i === 0 ? { ...r, readonly: true } : r));
 
    // extracts label regions only
    const regions = result.filter((r) => r.type.match("labels"));
 
    LabelStudio.init({
      annotations: [
        {
          id: "test",
          result,
        },
      ],
      config,
      data,
    });
 
    I.waitForElement(".htx-timeseries-channel", 60);
 
    I.say("TimeSeries loaded");
 
    I.say("Check region is selectable");
    AtOutliner.seeRegions(regions.length);
    AtOutliner.clickRegion(current.regionName);
 
    I.say("Results are equal after deletion attempt");
    I.pressKey("Backspace");
    await LabelStudio.resultsNotChanged(result);
 
    const wrapperPosition = await Tools.getElementPosition(".htx-timeseries-channel .overlay");
 
    AtLabels.clickLabel("Run");
 
    I.pressKey("u");
    I.say("Can draw new shape");
    I.pressKey("1");
    await I.dragAndDropMouse(
      {
        x: wrapperPosition.x + 50,
        y: wrapperPosition.y + wrapperPosition.height / 2,
      },
      {
        x: wrapperPosition.x + 300,
        y: wrapperPosition.y + wrapperPosition.height / 2,
      },
    );
 
    AtOutliner.seeRegions(regions.length + 1);
  },
);