@@ -2,39 +2,37 @@ import { expect, test } from "@playwright/test";
22
33import { ACCOUNT_STATE_PATH } from "../../constants" ;
44import { generateRandomBranchName } from "../../utils" ;
5- import { deleteBranchAPI } from "../utils/graphql" ;
5+ import { createBranchAPI , deleteBranchAPI } from "../utils/graphql" ;
66
7- test . describe ( "Verify branch merge button state " , ( ) => {
7+ test . describe ( "Branch - Merge action " , ( ) => {
88 test . use ( { storageState : ACCOUNT_STATE_PATH . ADMIN } ) ;
99
10- const BRANCH_NAME = generateRandomBranchName ( "merge-action-test" ) ;
10+ const BRANCH_NAME = generateRandomBranchName ( "merge-branch" ) ;
11+
12+ test . beforeAll ( async ( { request } ) => {
13+ await createBranchAPI ( request , BRANCH_NAME ) ;
14+ } ) ;
1115
1216 test . afterAll ( async ( { request } ) => {
1317 await deleteBranchAPI ( request , BRANCH_NAME ) ;
1418 } ) ;
1519
16- test ( "create a branch, merge it and verify button state" , async ( { page } ) => {
17- await test . step ( "Create and access a new branch" , async ( ) => {
18- await page . goto ( "/branches" ) ;
19- await page . getByTestId ( "branch-selector-trigger" ) . click ( ) ;
20- await page . getByTestId ( "create-branch-button" ) . click ( ) ;
21- await page . getByRole ( "textbox" , { name : "New branch name *" } ) . fill ( BRANCH_NAME ) ;
22- await page . getByRole ( "button" , { name : "Create a new branch" } ) . click ( ) ;
23- await expect ( page . getByText ( "New branch name *" ) ) . not . toBeVisible ( ) ;
24- await expect ( page . getByTestId ( "branches-items" ) . getByText ( BRANCH_NAME ) ) . toBeVisible ( ) ;
25- await page . getByTestId ( "branches-items" ) . getByText ( BRANCH_NAME ) . click ( ) ;
26- await expect ( page . getByText ( `Name${ BRANCH_NAME } ` ) ) . toBeVisible ( ) ;
20+ test ( "disable merge button during merge and re-enable when complete" , async ( { page } ) => {
21+ await test . step ( "access the branch details page" , async ( ) => {
22+ await page . goto ( `/branches/${ BRANCH_NAME } ` ) ;
2723 await page . getByText ( "Tasks" ) . click ( ) ;
2824 } ) ;
2925
3026 await test . step ( "Merge the branch and verify button state" , async ( ) => {
31- test . slow ( ) ;
32-
3327 await page . getByRole ( "button" , { name : "Merge" , exact : true } ) . click ( ) ;
3428 await expect ( page . getByText ( "Branch merge requested!" ) ) . toBeVisible ( ) ;
35- await expect ( page . getByText ( "RUNNINGMerge branch graphQL" ) ) . toBeVisible ( ) ;
29+ await expect ( page . getByText ( "RUNNINGMerge branch graphQL" ) ) . toBeVisible ( {
30+ timeout : 5 * 60 * 1000 ,
31+ } ) ;
3632 await expect ( page . getByRole ( "button" , { name : "Merge" , exact : true } ) ) . toBeDisabled ( ) ;
37- await expect ( page . getByText ( "COMPLETEDMerge branch graphQL" ) ) . toBeVisible ( ) ;
33+ await expect ( page . getByText ( "COMPLETEDMerge branch graphQL" ) ) . toBeVisible ( {
34+ timeout : 5 * 60 * 1000 ,
35+ } ) ;
3836 await expect ( page . getByRole ( "button" , { name : "Merge" , exact : true } ) ) . toBeEnabled ( ) ;
3937 } ) ;
4038 } ) ;
0 commit comments