1- import * as fs from "fs/promises" ;
2- import * as os from "os" ;
3- import * as path from "path" ;
41import { test as baseTest , expect } from "@playwright/test" ;
52import { SharedSlice } from "@prismicio/types-internal/lib/customtypes" ;
63import {
@@ -48,10 +45,10 @@ type Fixtures = {
4845 /**
4946 * Data
5047 */
51- reusablePageType : { name : string } ;
52- singlePageType : { name : string } ;
53- reusableCustomType : { name : string } ;
54- singleCustomType : { name : string } ;
48+ reusablePageType : { name : string ; id : string } ;
49+ singlePageType : { name : string ; id : string } ;
50+ reusableCustomType : { name : string ; id : string } ;
51+ singleCustomType : { name : string ; id : string } ;
5552 slice : { name : string } ;
5653 repeatableZoneSlice : { name : string } ;
5754 firstSliceLibrary : { id : string } ;
@@ -116,49 +113,69 @@ export const test = baseTest.extend<Options & Fixtures>({
116113 await pageTypesTablePage . goto ( ) ;
117114 await pageTypesTablePage . openCreateDialog ( ) ;
118115
119- const pageTypeName = "Page Type " + generateRandomId ( ) ;
116+ const uuid = generateRandomId ( ) ;
117+ const pageTypeName = "Page Type " + uuid ;
120118 await pageTypesTablePage . createTypeDialog . createType (
121119 pageTypeName ,
122120 "reusable" ,
123121 ) ;
124122
125- await use ( { name : pageTypeName } ) ;
123+ await use ( { name : pageTypeName , id : `page_type_${ uuid } ` } ) ;
124+
125+ await pageTypesTablePage . goto ( ) ;
126+ await pageTypesTablePage . openActionMenu ( pageTypeName , "Remove" ) ;
127+ await pageTypesTablePage . deleteTypeDialog . deleteType ( ) ;
126128 } ,
127129 singlePageType : async ( { pageTypesTablePage } , use ) => {
128130 await pageTypesTablePage . goto ( ) ;
129131 await pageTypesTablePage . openCreateDialog ( ) ;
130132
131- const pageTypeName = "Page Type " + generateRandomId ( ) ;
133+ const uuid = generateRandomId ( ) ;
134+ const pageTypeName = "Page Type " + uuid ;
132135 await pageTypesTablePage . createTypeDialog . createType (
133136 pageTypeName ,
134137 "single" ,
135138 ) ;
136139
137- await use ( { name : pageTypeName } ) ;
140+ await use ( { name : pageTypeName , id : `page_type_${ uuid } ` } ) ;
141+
142+ await pageTypesTablePage . goto ( ) ;
143+ await pageTypesTablePage . openActionMenu ( pageTypeName , "Remove" ) ;
144+ await pageTypesTablePage . deleteTypeDialog . deleteType ( ) ;
138145 } ,
139146 reusableCustomType : async ( { customTypesTablePage } , use ) => {
140147 await customTypesTablePage . goto ( ) ;
141148 await customTypesTablePage . openCreateDialog ( ) ;
142149
143- const customTypeName = "Custom Type " + generateRandomId ( ) ;
150+ const uuid = generateRandomId ( ) ;
151+ const customTypeName = "Custom Type " + uuid ;
144152 await customTypesTablePage . createTypeDialog . createType (
145153 customTypeName ,
146154 "reusable" ,
147155 ) ;
148156
149- await use ( { name : customTypeName } ) ;
157+ await use ( { name : customTypeName , id : `custom_type_${ uuid } ` } ) ;
158+
159+ await customTypesTablePage . goto ( ) ;
160+ await customTypesTablePage . openActionMenu ( customTypeName , "Remove" ) ;
161+ await customTypesTablePage . deleteTypeDialog . deleteType ( ) ;
150162 } ,
151163 singleCustomType : async ( { customTypesTablePage } , use ) => {
152164 await customTypesTablePage . goto ( ) ;
153165 await customTypesTablePage . openCreateDialog ( ) ;
154166
155- const customTypeName = "Custom Type " + generateRandomId ( ) ;
167+ const uuid = generateRandomId ( ) ;
168+ const customTypeName = "Custom Type " + uuid ;
156169 await customTypesTablePage . createTypeDialog . createType (
157170 customTypeName ,
158171 "single" ,
159172 ) ;
160173
161- await use ( { name : customTypeName } ) ;
174+ await use ( { name : customTypeName , id : `custom_type_${ uuid } ` } ) ;
175+
176+ await customTypesTablePage . goto ( ) ;
177+ await customTypesTablePage . openActionMenu ( customTypeName , "Remove" ) ;
178+ await customTypesTablePage . deleteTypeDialog . deleteType ( ) ;
162179 } ,
163180 slice : async ( { slicesListPage } , use ) => {
164181 await slicesListPage . goto ( ) ;
@@ -170,6 +187,10 @@ export const test = baseTest.extend<Options & Fixtures>({
170187 await slicesListPage . createSliceDialog . createSlice ( sliceName ) ;
171188
172189 await use ( { name : sliceName } ) ;
190+
191+ await slicesListPage . goto ( ) ;
192+ await slicesListPage . openActionMenu ( sliceName , "Delete" ) ;
193+ await slicesListPage . deleteSliceDialog . deleteSlice ( sliceName ) ;
173194 } ,
174195 repeatableZoneSlice : async ( { firstSliceLibrary, manager } , use ) => {
175196 const sliceName = "Slice" + generateRandomId ( ) ;
@@ -196,6 +217,11 @@ export const test = baseTest.extend<Options & Fixtures>({
196217 } ) ;
197218
198219 await use ( { name : model . name } ) ;
220+
221+ await manager . slices . deleteSlice ( {
222+ libraryID : firstSliceLibrary . id ,
223+ sliceID : model . id ,
224+ } ) ;
199225 } ,
200226 firstSliceLibrary : async ( { manager } , use ) => {
201227 const config = await manager . project . getSliceMachineConfig ( ) ;
@@ -280,13 +306,6 @@ export const test = baseTest.extend<Options & Fixtures>({
280306 const newContext = await browser . newContext ( { storageState } ) ;
281307 const page = await newContext . newPage ( ) ;
282308
283- // Logout user by default
284- try {
285- await fs . rm ( path . join ( os . homedir ( ) , ".prismic" ) ) ;
286- } catch ( error ) {
287- // Ignore since it means the user is already logged out
288- }
289-
290309 // Propagate the modified page to the test
291310 await use ( page ) ;
292311
0 commit comments