@@ -106,63 +106,33 @@ module.exports = class GuiReportBuilder extends StaticReportBuilder {
106106 return isUpdated ? attempt : attempt + 1 ;
107107 }
108108
109- async undoAcceptImages ( imageIds , reportPath ) {
110- const updatedImages = [ ] , removedResults = [ ] , referencesToRemove = [ ] , referencesToUpdate = [ ] ;
111-
112- for ( const imageId of imageIds ) {
113- const {
114- updatedImage,
115- removedResult,
116- referenceToRemove,
117- referenceToUpdate
118- } = await this . _undoAcceptImage ( imageId , reportPath ) ;
119-
120- updatedImage && updatedImages . push ( updatedImage ) ;
121- removedResult && removedResults . push ( removedResult ) ;
122- referenceToRemove && referencesToRemove . push ( referenceToRemove ) ;
123- referenceToUpdate && referencesToUpdate . push ( referenceToUpdate ) ;
124- }
125-
126- return { updatedImages, removedResults, referencesToRemove, referencesToUpdate} ;
127- }
128-
129- async _undoAcceptImage ( imageId , reportPath ) {
109+ async undoAcceptImage ( formattedResult , stateName ) {
110+ const resultId = formattedResult . id ;
111+ const suitePath = formattedResult . testPath ;
112+ const browserName = formattedResult . browserId ;
130113 const {
131- suitePath,
132- browserName,
133- stateName,
114+ imageId,
134115 status,
135116 timestamp,
136- image,
137117 previousImage,
138- resultIdToRemove
139- } = this . _testsTree . getResultDataToUnacceptImage ( imageId ) ;
118+ shouldRemoveResult
119+ } = this . _testsTree . getResultDataToUnacceptImage ( resultId , stateName ) ;
140120
141121 if ( ! isUpdatedStatus ( status ) ) {
142122 return { } ;
143123 }
144124
145- const fullTitle = suitePath . join ( ' ' ) ;
146- const previousExpectedImgPath = _ . get ( previousImage , 'expectedImg.path' , null ) ;
147- const refImgPath = previousImage . refImg . path ;
148- const currentExpectedImgPath = image . expectedImg . path ;
125+ const previousExpectedPath = _ . get ( previousImage , 'expectedImg.path' , null ) ;
149126 const shouldRemoveReference = _ . isNull ( previousImage . refImg . size ) ;
150- let updatedImage , removedResult , referenceToRemove , referenceToUpdate ;
127+ const shouldRevertReference = ! shouldRemoveReference ;
151128
152- await this . _removeImageFromReport ( reportPath , currentExpectedImgPath ) ;
153- this . _updateTestExpectedPath ( fullTitle , browserName , stateName , previousExpectedImgPath ) ;
154-
155- if ( shouldRemoveReference ) {
156- referenceToRemove = refImgPath ;
157- } else {
158- referenceToUpdate = { path : refImgPath , source : previousExpectedImgPath } ;
159- }
129+ let updatedImage , removedResult ;
160130
161- if ( resultIdToRemove ) {
162- this . _testsTree . removeTestResult ( resultIdToRemove ) ;
163- this . _decreaseTestAttemptNumber ( fullTitle , browserName ) ;
131+ if ( shouldRemoveResult ) {
132+ this . _testsTree . removeTestResult ( resultId ) ;
133+ formattedResult . decreaseAttemptNumber ( ) ;
164134
165- removedResult = resultIdToRemove ;
135+ removedResult = resultId ;
166136 } else {
167137 updatedImage = this . _testsTree . updateImageInfo ( imageId , previousImage ) ;
168138 }
@@ -175,7 +145,7 @@ module.exports = class GuiReportBuilder extends StaticReportBuilder {
175145 `json_extract(${ DB_COLUMNS . IMAGES_INFO } , '$[0].stateName') = ?`
176146 ] . join ( ' AND ' ) } , JSON . stringify ( suitePath ) , browserName , status , timestamp , stateName ) ;
177147
178- return { updatedImage, removedResult, referenceToRemove , referenceToUpdate } ;
148+ return { updatedImage, removedResult, previousExpectedPath , shouldRemoveReference , shouldRevertReference } ;
179149 }
180150
181151 _addTestResult ( formattedResult , props , opts = { } ) {
0 commit comments