@@ -9,83 +9,74 @@ describe("Internal Membership tests", () => {
99 await becomeUser ( page ) ;
1010 await page . locator ( "a" ) . filter ( { hasText : "Membership Lists" } ) . click ( ) ;
1111 await page
12- . getByRole ( "textbox" , { name : "NetID" , exact : true } )
13- . fill ( "dsingh14" ) ;
12+ . getByRole ( "textbox" , { name : "Enter NetIDs or Illinois" } )
13+ . click ( ) ;
14+ await page
15+ . getByRole ( "textbox" , { name : "Enter NetIDs or Illinois" } )
16+ . fill ( "dsingh14;invalid" ) ;
17+ await page . getByRole ( "button" , { name : "Query Memberships" } ) . click ( ) ;
18+ await expect ( page . locator ( "#root" ) ) . toContainText ( "Paid Members (1)" ) ;
19+ await expect ( page . locator ( "#root" ) ) . toContainText ( "Not Paid Members (1)" ) ;
20+ await expect ( page . locator ( "#root" ) ) . toContainText ( "dsingh14" ) ;
21+ await expect ( page . locator ( "#root" ) ) . toContainText ( "invalid" ) ;
22+ } ) ;
23+ } ) ;
24+
25+ describe ( "External Membership tests" , ( ) => {
26+ test ( "A user can create, modify, and delete external memberships" , async ( {
27+ page,
28+ becomeUser,
29+ } ) => {
30+ const uuid = `e2e-${ randomUUID ( ) } ` ;
31+ await becomeUser ( page ) ;
32+ await page . locator ( "a" ) . filter ( { hasText : "Membership Lists" } ) . click ( ) ;
33+ await page . getByRole ( "button" , { name : "New List" } ) . click ( ) ;
34+ await page . getByRole ( "textbox" , { name : "New List ID" } ) . fill ( uuid ) ;
35+ await page . getByRole ( "textbox" , { name : "Initial Member NetID" } ) . click ( ) ;
36+ await page
37+ . getByRole ( "textbox" , { name : "Initial Member NetID" } )
38+ . fill ( "corete5" ) ;
39+ await page . getByRole ( "button" , { name : "Create List" } ) . click ( ) ;
40+ await expect ( page . getByText ( "corete5" ) ) . toBeVisible ( ) ;
41+ await expect ( page . locator ( "tbody" ) ) . toContainText ( "corete5" ) ;
42+ await expect ( page . locator ( "tbody" ) ) . toContainText ( "Active" ) ;
43+ await expect ( page . getByText ( "Found 1 member." ) ) . toBeVisible ( ) ;
44+ await page . getByRole ( "button" , { name : "Replace List" } ) . click ( ) ;
1445 await page
15- . getByRole ( "button" , { name : "Query Membership" , exact : true } )
46+ . getByRole ( "textbox" , { name :
"jdoe2 [email protected] " } ) 47+ . fill ( "corete5\ncorete6" ) ;
48+ await page . getByRole ( "button" , { name : "Compute Changes" } ) . click ( ) ;
49+ await expect ( page . locator ( "tbody" ) ) . toContainText ( "corete6" ) ;
50+ await expect ( page . locator ( "tbody" ) ) . toContainText ( "Queued for addition" ) ;
51+ await expect ( page . locator ( "tbody" ) ) . toContainText ( "Cancel Add" ) ;
52+ await page
53+ . getByRole ( "button" , { name : "Save Changes (1 Additions, 0" } )
1654 . click ( ) ;
17- await expect ( page . getByText ( "dsingh14 is a paid member." ) ) . toBeVisible ( ) ;
18- await page . getByRole ( "textbox" , { name : "NetID" , exact : true } ) . fill ( "z" ) ;
55+ await page . getByRole ( "button" , { name : "Cancel" , exact : true } ) . click ( ) ;
56+ await expect ( page . getByRole ( "main" ) . nth ( 1 ) ) . toContainText (
57+ "Save Changes (1 Additions, 0 Removals)" ,
58+ ) ;
1959 await page
20- . getByRole ( "button" , { name : "Query Membership" , exact : true } )
60+ . getByRole ( "button" , { name : "Save Changes (1 Additions, 0" } )
2161 . click ( ) ;
22- await expect ( page . getByText ( "z is not a paid member." ) ) . toBeVisible ( ) ;
62+ await page . getByRole ( "button" , { name : "Confirm and Save" } ) . click ( ) ;
2363 await page
24- . getByRole ( "textbox" , { name : "NetID" , exact : true } )
25- . fill ( "rjjones" ) ;
64+ . getByRole ( "row" , { name : "CO corete5 Active Remove" } )
65+ . getByRole ( "button" )
66+ . click ( ) ;
67+ await page . getByRole ( "button" , { name : "Remove" } ) . click ( ) ;
2668 await page
27- . getByRole ( "button" , { name : "Query Membership" , exact : true } )
69+ . getByRole ( "button" , { name : "Save Changes (0 Additions, 2" } )
2870 . click ( ) ;
29- await expect ( page . getByText ( "rjjones is not a paid member." ) ) . toBeVisible ( ) ;
71+ await page . getByRole ( "button" , { name : "Confirm and Save" } ) . click ( ) ;
72+ await expect ( page . getByText ( "Member list has been updated." ) ) . toBeVisible ( ) ;
73+ // Part 2
74+ await page . reload ( ) ;
75+ await expect (
76+ page . getByText ( "Manage External Membership Lists" ) ,
77+ ) . toBeVisible ( ) ;
78+ await page . getByPlaceholder ( "Pick a list to manage" ) . click ( ) ;
79+ await expect ( page . getByText ( uuid ) ) . not . toBeVisible ( ) ;
80+ await expect ( page . getByText ( "acmlivetesting" ) ) . toBeVisible ( ) ;
3081 } ) ;
3182} ) ;
32-
33- // Commented out until we update the test to match the new UI.
34- // describe("External Membership tests", () => {
35- // test("A user can create, modify, and delete external memberships", async ({
36- // page,
37- // becomeUser,
38- // }) => {
39- // const uuid = `e2e-${randomUUID()}`;
40- // await becomeUser(page);
41- // await page.locator("a").filter({ hasText: "Membership Lists" }).click();
42- // await page.getByRole("button", { name: "New List" }).click();
43- // await page.getByRole("textbox", { name: "New List ID" }).fill(uuid);
44- // await page.getByRole("textbox", { name: "Initial Member NetID" }).click();
45- // await page
46- // .getByRole("textbox", { name: "Initial Member NetID" })
47- // .fill("corete5");
48- // await page.getByRole("button", { name: "Create List" }).click();
49- // await expect(page.getByText("corete5")).toBeVisible();
50- // await expect(page.locator("tbody")).toContainText("corete5");
51- // await expect(page.locator("tbody")).toContainText("Active");
52- // await expect(page.getByText("Found 1 member.")).toBeVisible();
53- // await page.getByRole("button", { name: "Replace List" }).click();
54- // await page
55- // .getByRole("textbox", { name: "jdoe2 asmith3@illinois .edu" })
56- // .fill("corete5\ncorete6");
57- // await page.getByRole("button", { name: "Compute Changes" }).click();
58- // await expect(page.locator("tbody")).toContainText("corete6");
59- // await expect(page.locator("tbody")).toContainText("Queued for addition");
60- // await expect(page.locator("tbody")).toContainText("Cancel Add");
61- // await page
62- // .getByRole("button", { name: "Save Changes (1 Additions, 0" })
63- // .click();
64- // await page.getByRole("button", { name: "Cancel", exact: true }).click();
65- // await expect(page.getByRole("main").nth(1)).toContainText(
66- // "Save Changes (1 Additions, 0 Removals)",
67- // );
68- // await page
69- // .getByRole("button", { name: "Save Changes (1 Additions, 0" })
70- // .click();
71- // await page.getByRole("button", { name: "Confirm and Save" }).click();
72- // await page
73- // .getByRole("row", { name: "CO corete5 Active Remove" })
74- // .getByRole("button")
75- // .click();
76- // await page.getByRole("button", { name: "Remove" }).click();
77- // await page
78- // .getByRole("button", { name: "Save Changes (0 Additions, 2" })
79- // .click();
80- // await page.getByRole("button", { name: "Confirm and Save" }).click();
81- // await expect(page.getByText("Member list has been updated.")).toBeVisible();
82- // // Part 2
83- // await page.reload();
84- // await expect(
85- // page.getByText("Manage External Membership Lists"),
86- // ).toBeVisible();
87- // await page.getByPlaceholder("Pick a list to manage").click();
88- // await expect(page.getByText(uuid)).not.toBeVisible();
89- // await expect(page.getByText("acmlivetesting")).toBeVisible();
90- // });
91- // });
0 commit comments