-
Notifications
You must be signed in to change notification settings - Fork 15
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Verify that the criteria for advancing the phase for test plans has b…
…een met by referencing required reports for a phase (#722) * initial model, migration, and seeder * seeders test plan ids * test plan service * fixing migration * updating migrations to have foreign keys * Implementing Howard's feedback * Start to migrations and functions to support the DB change for further support of 648 * Update migrations and resolvers to update the individual test plan reports so they can be a part of the same testplanversion going through the candidate phase * Add phase to TestPlanVersion * Update resolver and logic for providing content on the reports page * Update query and resolvers for single report pages * Update query and resolvers for test plan version mutations * Support for CandidateTests functionality and returned other basic functionality which will be removed in the future such as individual test plan report updating * Restored viewing of CandidateTestPlanRun * Fix graphql.schema * Update migrations * Remove unused references * Update tests * Rename TestPlanVersion date fields with 'status' in name to 'phase' * Add approvedAt column to TestPlanReport * Rename candidateStatusReachedAt to approvedAt * Update migration to not use server specific function * Update migration to be more clear and help in functional priority of following migrations * Start draft of new Data Management page * Add links to single-page view of the plans * Update migration to prevent testPlanVersions not in the DRAFT phase having a draftPhaseReachedAt value * Update migration to prevent testPlanVersions not in the DRAFT phase having a draftPhaseReachedAt value and set the phase to RD if not * Update content of cells * Show remaining data content for the Data Management Row * Update the updatePhaseResolver * Added checks to account for how the phase promotions will be done * Making changes to account for using data from earlier runs when promoting a test plan version * Implementation of preserving data with earlier version of test plan when the runs for a target doesn't exist * Cleanup, comments and refactoring * Sunset earlier test plan version during phase update * Update TestManagement references to DataManagement * Update Test Plan, Covered At and Overall Status columns based on latest mockups * Implemented P0 styling items from latest mockups * Styling updates * Remove old version of test management content * Add proptypes check * Update Data Management page to allow access without being an admin * Hide admin actions on data management page * Adjust column sizes * Update tests * Update condition for when 'Advance to Recommended' button is shown * Restrict condition for phase transition * Editorial changes * Editorial changes * Cleanup TODOs * Address rare error condition * Add confirmation dialog when advancing test plan version; reduce values being requested * Unique test plan report combinations shown in advance confirmation dialog * Update test * Update tests * Update focus points when advancing phases * Update migration to make purpose clearer * Add validation for candidate phase * Set default sorting for data management table * Add beginning of validation for Recomended phase * Create /test-review endpoint for displaying what's available at aria-at.netlify in-app * Update Data Management VERSION_STRING link to point to template generated at /test-review * Fix sorting related bug with ManageTestQueue component * Remove required reports logic from updatePhaseResolver; needs to be moved to its own PR * Update test * Stop checks to see if testPlanReports exist which use an AT. Instead, show all currently known ats in this Covered ATs column * Reverse logic for showing the latest versions for a test plan * Re-evaluate sorting logic for DataManagement default phase sorting and applicable Test Plan Versions shown for ManageTestQueue component * Finish verification for recommended phase * Fix failing tests except the datamanagement tests * Add beginning of validation for Recomended phase * Finish verification for recommended phase * Fix failing tests except the datamanagement tests * Update AtBrowsers and everything that has to do with it * Correcting merge conflict lines * Fix updatePhaseResolver * Fix failing tests * Remove comment * Fix function signiture --------- Co-authored-by: Erika Miguel <[email protected]> Co-authored-by: Howard Edwards <[email protected]>
- Loading branch information
1 parent
e7d6fb5
commit 527e78f
Showing
16 changed files
with
232 additions
and
44 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
39 changes: 39 additions & 0 deletions
39
server/migrations/20230523163855-addColumnsToAtBrowsers.js
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,39 @@ | ||
'use strict'; | ||
|
||
/** @type {import('sequelize-cli').Migration} */ | ||
module.exports = { | ||
async up(queryInterface, Sequelize) { | ||
return queryInterface.sequelize.transaction(async transaction => { | ||
await queryInterface.addColumn( | ||
'AtBrowsers', | ||
'isCandidate', | ||
{ | ||
type: Sequelize.DataTypes.BOOLEAN, | ||
allowNull: false | ||
}, | ||
{ transaction } | ||
); | ||
|
||
await queryInterface.addColumn( | ||
'AtBrowsers', | ||
'isRecommended', | ||
{ | ||
type: Sequelize.DataTypes.BOOLEAN, | ||
allowNull: false | ||
}, | ||
{ transaction } | ||
); | ||
}); | ||
}, | ||
|
||
async down(queryInterface /* , Sequelize */) { | ||
return queryInterface.sequelize.transaction(async transaction => { | ||
await queryInterface.removeColumn('AtBrowsers', 'isCandidate', { | ||
transaction | ||
}); | ||
await queryInterface.removeColumn('AtBrowsers', 'isRecommended', { | ||
transaction | ||
}); | ||
}); | ||
} | ||
}; |
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
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 |
---|---|---|
@@ -1,22 +1,5 @@ | ||
const { getAts } = require('../models/services/AtService'); | ||
|
||
const atsResolver = async () => { | ||
const ats = await getAts( | ||
undefined, | ||
undefined, | ||
undefined, | ||
undefined, | ||
undefined, | ||
undefined, | ||
{ | ||
order: [['name', 'asc']] | ||
} | ||
); | ||
// Sort date of atVersions subarray in desc order by releasedAt date | ||
ats.forEach(item => | ||
item.atVersions.sort((a, b) => b.releasedAt - a.releasedAt) | ||
); | ||
return ats; | ||
const atsResolver = async (_, __, context) => { | ||
return context.atLoader.getAll(); | ||
}; | ||
|
||
module.exports = atsResolver; |
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 |
---|---|---|
@@ -1,9 +1,5 @@ | ||
const { getBrowsers } = require('../models/services/BrowserService'); | ||
|
||
const browsersResolver = () => { | ||
return getBrowsers(undefined, undefined, undefined, undefined, undefined, { | ||
order: [['name', 'asc']] | ||
}); | ||
const browsersResolver = async (_, __, context) => { | ||
return context.browserLoader.getAll(); | ||
}; | ||
|
||
module.exports = browsersResolver; |
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
Oops, something went wrong.