• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

CSCfi / metadata-submitter-frontend / 12371873067

17 Dec 2024 11:14AM UTC coverage: 49.616%. Remained the same
12371873067

push

github

Hang Le
Remove accession ID from pop-up notification (merge commit)

Merge branch 'feature/save-success-notification' into 'main'
* Edit draft.spec.ts

* Edit StatusMessageHandler test

Closes #977
See merge request https://gitlab.ci.csc.fi/sds-dev/sd-submit/metadata-submitter-frontend/-/merge_requests/1051

Approved-by: Hang Le <lhang@csc.fi>
Co-authored-by: Mariia Rogina <roginama@csc.fi>
Merged by Hang Le <lhang@csc.fi>

777 of 1089 branches covered (71.35%)

Branch coverage included in aggregate %.

1 of 5 new or added lines in 2 files covered. (20.0%)

7040 of 14666 relevant lines covered (48.0%)

3.31 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

0.0
/playwright/tests/draft.spec.ts
1
import { expect } from "@playwright/test"
×
2

3
import test from "../fixtures/commands"
×
4

5
import { ObjectTypes, ObjectStatus } from "constants/wizardObject"
×
6

7
test.describe("Draft operations", () => {
×
8
  test.beforeEach(async ({ page, login, generateSubmissionAndObjects, resetDB }) => {
×
9
    await resetDB()
×
10
    await login()
×
11
    // Add submission name & description, navigate to submissions
12
    await generateSubmissionAndObjects(ObjectTypes.dac)
×
13
    // Edit newly created submission
14
    await page.getByText("Edit").first().click()
×
15
    await page.waitForLoadState()
×
16
  })
×
17

18
  test("should create new submission, save, clear and continue draft", async ({
×
19
    page,
×
20
    clickAccordionPanel,
×
21
    clickAddObject,
×
22
    formActions,
×
23
    continueLatestForm,
×
24
    optionsActions,
×
25
  }) => {
×
26
    test.slow()
×
27
    await clickAccordionPanel("Study, DAC and Policy")
×
28

29
    // Create a new DAC form and submit
30
    await clickAddObject(ObjectTypes.dac)
×
31
    await page.getByTestId("title").fill("Test DAC title")
×
32
    await page.locator("div[data-testid='contacts'] > div > button").click()
×
33
    await page.getByTestId("contacts.0.name").fill("Test contact name")
×
34
    await page.getByTestId("contacts.0.email").fill("email@test.com")
×
35
    await page.getByTestId("contacts.0.telephoneNumber").fill("123456789")
×
36
    await page.getByTestId("contacts.0.organisation-inputField").fill("Test organization")
×
37
    // Click outside from organisation autocomplete field to hide suggestions
38
    await page.getByTestId("contacts.0.telephoneNumber").click()
×
39
    await page.getByTestId("contacts.0.mainContact").check()
×
40
    // Submit DAC form
41
    await formActions("form-ready")
×
42

43
    // Fill a Policy form
44
    await clickAddObject("policy")
×
45

46
    page.getByTestId("title").fill("Test title")
×
47

48
    // Save a draft
49
    await formActions("form-draft")
×
NEW
50
    await page.getByRole("alert").filter({ hasText: "Draft saved" })
×
51
    await expect(
×
52
      page.getByTestId("policy-objects-list").filter({ has: page.locator("li") })
×
53
    ).toHaveCount(1)
×
54
    // Save another draft
55
    await clickAddObject("policy")
×
56
    await expect(page.getByTestId("title")).toHaveValue("")
×
57
    await page.getByTestId("title").fill("Test title 2")
×
58
    await formActions("form-draft")
×
NEW
59
    await page.getByRole("alert").filter({ hasText: "Draft saved" })
×
60
    await expect(page.getByTestId("policy-objects-list").locator("li")).toHaveCount(2)
×
61

62
    // Update draft, save from dialog
63
    await page.getByTestId("title").fill("Test title 2 second save")
×
64
    await continueLatestForm(ObjectTypes.policy, ObjectStatus.draft)
×
65
    await expect(
×
66
      page
×
67
        .locator("p")
×
68
        .getByText(/Would you like to save a draft version of this form/)
×
69
        .first()
×
70
    ).toBeVisible()
×
71
    await page.getByRole("dialog").getByText(/Save/).first().click()
×
72
    await expect(page.getByRole("dialog")).not.toBeVisible()
×
73
    await expect(page.getByTestId("policy-objects-list").locator("li")).toHaveCount(2)
×
74

75
    // Continue first draft
76
    await continueLatestForm(ObjectTypes.policy, ObjectStatus.draft)
×
77

78
    // Clear form
79
    await optionsActions("Clear form")
×
80

81
    // Fill
82
    await expect(page.getByTestId("title")).toHaveValue("")
×
83
    await page.getByTestId("title").fill("New title")
×
84
    await expect(page.getByTestId("title")).toHaveValue("New title")
×
85
    await page.getByTestId("dacRef.accessionId").selectOption({ index: 1 })
×
86
    await formActions("form-draft")
×
87
    await expect(
×
88
      page
×
89
        .getByRole("alert")
×
NEW
90
        .getByText(/Draft updated/)
×
91
        .first()
×
92
    ).toBeVisible()
×
93

94
    // Submit first form draft
95
    await continueLatestForm(ObjectTypes.policy, ObjectStatus.draft)
×
96

97
    await page.getByTestId("dacRef.accessionId").selectOption({ index: 1 })
×
98
    await page.getByTestId("policy").selectOption({ label: "Policy Text" })
×
99
    await page.getByTestId("policy.policyText").fill("Test policy text")
×
100
    await formActions("form-ready")
×
101
    await expect(
×
102
      page
×
103
        .getByRole("alert")
×
NEW
104
        .getByText(/Submitted/)
×
105
        .first()
×
106
    ).toBeVisible()
×
107

108
    // Submit second form draft
109
    await continueLatestForm(ObjectTypes.policy, ObjectStatus.draft)
×
110
    await expect(page.getByTestId("policy")).toBeVisible()
×
111
    await page.getByTestId("policy").selectOption({ label: "Policy Text" })
×
112
    await page.getByTestId("policy.policyText").fill("Test policy text")
×
113
    await formActions("form-ready")
×
114
    // Check that there are 2 submitted objects
115
    await expect(page.getByTestId("policy-objects-list").locator("li")).toHaveCount(2)
×
116
  })
×
117
})
×
118

119
export {}
×
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2025 Coveralls, Inc