-
Notifications
You must be signed in to change notification settings - Fork 163
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Archive and restore registered models
- Loading branch information
1 parent
4aa0a8c
commit 5f9f331
Showing
33 changed files
with
1,248 additions
and
160 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
118 changes: 118 additions & 0 deletions
118
frontend/src/__tests__/cypress/cypress/pages/modelRegistry/registeredModelArchive.ts
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,118 @@ | ||
import { | ||
registeredModelArchiveDetailsUrl, | ||
registeredModelArchiveUrl, | ||
registeredModelUrl, | ||
} from '~/pages/modelRegistry/screens/routeUtils'; | ||
import { TableRow } from '~/__tests__/cypress/cypress/pages/components/table'; | ||
import { Modal } from '~/__tests__/cypress/cypress/pages/components/Modal'; | ||
|
||
class ArchiveModelTableRow extends TableRow { | ||
findName() { | ||
return this.find().findByTestId('model-name'); | ||
} | ||
|
||
findDescription() { | ||
return this.find().findByTestId('description'); | ||
} | ||
|
||
findLabelPopoverText() { | ||
return this.find().findByTestId('popover-label-text'); | ||
} | ||
|
||
findLabelModalText() { | ||
return this.find().findByTestId('modal-label-text'); | ||
} | ||
|
||
shouldContainsPopoverLabels(labels: string[]) { | ||
cy.findByTestId('popover-label-group').within(() => labels.map((label) => cy.contains(label))); | ||
return this; | ||
} | ||
} | ||
|
||
class RestoreModelModal extends Modal { | ||
constructor() { | ||
super('Restore model?'); | ||
} | ||
|
||
findRestoreButton() { | ||
return cy.findByTestId('modal-submit-button'); | ||
} | ||
} | ||
|
||
class ArchiveModelModal extends Modal { | ||
constructor() { | ||
super('Archive model?'); | ||
} | ||
|
||
findArchiveButton() { | ||
return cy.findByTestId('modal-submit-button'); | ||
} | ||
|
||
findModalTextInput() { | ||
return cy.findByTestId('confirm-archive-input'); | ||
} | ||
} | ||
|
||
class ModelArchive { | ||
private wait() { | ||
cy.findByTestId('app-page-title').should('exist'); | ||
cy.testA11y(); | ||
} | ||
|
||
visit() { | ||
cy.visit(registeredModelArchiveUrl('modelregistry-sample')); | ||
this.wait(); | ||
} | ||
|
||
visitArchiveModelDetail() { | ||
cy.visit(registeredModelArchiveDetailsUrl('2', 'modelregistry-sample')); | ||
} | ||
|
||
visitModelList() { | ||
cy.visit('/modelRegistry/modelregistry-sample'); | ||
this.wait(); | ||
} | ||
|
||
visitModelDetails() { | ||
cy.visit(registeredModelUrl('2', 'modelregistry-sample')); | ||
this.wait(); | ||
} | ||
|
||
findTableKebabMenu() { | ||
return cy.findByTestId('registered-models-table-kebab-action'); | ||
} | ||
|
||
shouldArchiveVersionsEmpty() { | ||
cy.findByTestId('empty-archive-model-state').should('exist'); | ||
} | ||
|
||
findArchiveModelBreadcrumbItem() { | ||
return cy.findByTestId('archive-model-page-breadcrumb'); | ||
} | ||
|
||
findArchiveModelTable() { | ||
return cy.findByTestId('registered-models-archive-table'); | ||
} | ||
|
||
findArchiveModelsTableRows() { | ||
return this.findArchiveModelTable().find('tbody tr'); | ||
} | ||
|
||
findRestoreButton() { | ||
return cy.findByTestId('restore-button'); | ||
} | ||
|
||
getRow(name: string) { | ||
return new ArchiveModelTableRow(() => | ||
this.findArchiveModelTable().find(`[data-label="Model name"]`).contains(name).parents('tr'), | ||
); | ||
} | ||
|
||
findModelVersionsDetailsHeaderAction() { | ||
return cy.findByTestId('model-version-action-toggle'); | ||
} | ||
} | ||
|
||
export const registeredModelArchive = new ModelArchive(); | ||
export const restoreModelModal = new RestoreModelModal(); | ||
export const archiveModelModal = new ArchiveModelModal(); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.