diff --git a/backend/migrations/20240229100158-create-cases-steps.js b/backend/migrations/20240229100158-create-cases-steps.js index 0b52af6..094cd12 100644 --- a/backend/migrations/20240229100158-create-cases-steps.js +++ b/backend/migrations/20240229100158-create-cases-steps.js @@ -27,6 +27,10 @@ module.exports = { onUpdate: "CASCADE", onDelete: "CASCADE", }, + stepNo: { + type: Sequelize.INTEGER, + allowNull: false, + }, createdAt: { type: Sequelize.DATE, allowNull: false, diff --git a/backend/routes/cases/index.js b/backend/routes/cases/index.js index 274b5ca..64bdd40 100644 --- a/backend/routes/cases/index.js +++ b/backend/routes/cases/index.js @@ -20,7 +20,10 @@ module.exports = function (sequelize) { if (caseId) { // Include steps if requested using caseId const testcase = await Case.findByPk(caseId, { - include: Step, + include: [{ + model: Step, + through: { attributes: ['stepNo'] }, + }], }); return res.json(testcase); } diff --git a/backend/seeders/seed.js b/backend/seeders/seed.js index 9a5681f..635f57d 100644 --- a/backend/seeders/seed.js +++ b/backend/seeders/seed.js @@ -122,6 +122,18 @@ module.exports = { createdAt: new Date(), updatedAt: new Date(), }, + { + step: "Sample Step 3", + result: "Sample Result 3", + createdAt: new Date(), + updatedAt: new Date(), + }, + { + step: "Sample Step 4", + result: "Sample Result 4", + createdAt: new Date(), + updatedAt: new Date(), + }, ]); // Add case-step join table @@ -129,18 +141,35 @@ module.exports = { { caseId: 1, stepId: 1, + stepNo: 1, createdAt: new Date(), updatedAt: new Date(), }, { caseId: 1, stepId: 2, + stepNo: 2, + createdAt: new Date(), + updatedAt: new Date(), + }, + { + caseId: 1, + stepId: 3, + stepNo: 3, + createdAt: new Date(), + updatedAt: new Date(), + }, + { + caseId: 1, + stepId: 4, + stepNo: 4, createdAt: new Date(), updatedAt: new Date(), }, { caseId: 2, stepId: 2, + stepNo: 1, createdAt: new Date(), updatedAt: new Date(), },