{"info":{"_postman_id":"7b116a95-f80a-4592-8010-6ad0e1ca880c","name":"Student and Teacher Management API","schema":"https://schema.getpostman.com/json/collection/v2.0.0/collection.json","toc":[],"description":"<html><head></head><body></body></html>","owner":"40687939","collectionId":"7b116a95-f80a-4592-8010-6ad0e1ca880c","publishedId":"2sBXcLhJJi","public":true,"customColor":{"top-bar":"FFFFFF","right-sidebar":"303030","highlight":"FF6C37"},"publishDate":"2026-03-09T16:00:43.000Z"},"item":[{"name":"Login","event":[{"listen":"test","script":{"id":"d38c001f-9264-4a1f-99d6-2766255c5ebb","exec":["let jsonData = pm.response.json();\r","let tokenData = jsonData.authToken;\r","\r","pm.collectionVariables.set(\"token\", tokenData);\r","pm.environment.set(\"token\", tokenData);\r","\r","\r","\r","// Expected_Age = \"26\";\r","\r","// Actual_Age = \"26\";\r","\r","// pm.test(\"Practice\", function(){\r","//     pm.expect(Actual_Age, \"It's not not same\").to.be.equal(Expected_Age);\r","// })"],"type":"text/javascript","packages":{},"requests":{}}}],"id":"283d41e5-ce85-4e76-9d54-f87f607416ec","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{ \r\n    \"username\": \"admin\", \r\n    \"password\": \"password123\" \r\n}","options":{"raw":{"language":"json"}}},"url":"http://54.255.195.111:5171/login","urlObject":{"port":"5171","path":["login"],"host":["http://54.255.195.111"],"query":[],"variable":[]}},"response":[],"_postman_id":"283d41e5-ce85-4e76-9d54-f87f607416ec"},{"name":"Get Students Raw Schema Validation","event":[{"listen":"test","script":{"id":"d1223e62-a532-4416-b87e-c02a456e0f21","exec":["// status code check test\r","\r","pm.test(\"Status code will be 200\", function(){\r","    pm.response.to.have.status(200);\r","})\r","\r","\r","// schema validation test\r","\r","pm.test(\"Schema Validation from student list\", function(){\r","  const jsonResponse = pm.response.json();\r","\r","  pm.expect(jsonResponse).to.be.an(\"array\");\r","\r","  const expectedStudentSchema = {\r","        \"_id\": \"string\",\r","        \"name\": \"string\",\r","        \"email\": \"string\",\r","        \"department\": \"string\",\r","        \"registrationId\": \"number\",\r","        \"age\": \"number\"\r","  }\r","\r","    jsonResponse.forEach((student, index)=>{\r","        for(let key in expectedStudentSchema){\r","            pm.expect(student, `Missing field ${key}`).to.have.property(key);\r","\r","            pm.expect(typeof student[key], \"Invalid type\").to.equal(expectedStudentSchema[key]);\r","        }\r","    })\r","\r","\r","})"],"type":"text/javascript","packages":{},"requests":{}}}],"id":"75eb6855-0a0a-44ee-a2f0-cedce87b0703","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Authorization","value":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VybmFtZSI6ImFkbWluIiwiaWF0IjoxNzczMDcxNzAxLCJleHAiOjE3NzMxNTgxMDF9.xFCi7wrgRzZytMaX50A0czAuURi1AMPopaQIe4xtzVY","type":"text"}],"url":"http://54.255.195.111:5171/api/student","urlObject":{"protocol":"http","port":"5171","path":["api","student"],"host":["54","255","195","111"],"query":[],"variable":[]}},"response":[],"_postman_id":"75eb6855-0a0a-44ee-a2f0-cedce87b0703"},{"name":"Get Students tv4 Schema Validation","event":[{"listen":"test","script":{"id":"d1223e62-a532-4416-b87e-c02a456e0f21","exec":["pm.test(\"Validate schema from student list response using tv4\", function(){\r","    const responseJson = pm.response.json();\r","    \r","    pm.expect(responseJson).to.be.an(\"array\");\r","\r","    const expectedStudentSchema = {\r","        type: \"object\",\r","        required: [\"_id\", \"email\", \"name\", \"department\", \"registrationId\", \"age\"],\r","        properties: {\r","            _id: {type: \"string\"},\r","            name: {type: \"string\"},\r","            department: {type: \"string\"},\r","            registrationId: {type: \"integer\"},\r","            age: {type: \"integer\"}\r","        }\r","    };\r","responseJson.forEach((student, index) => {\r","    const isValid = tv4.validate(student, expectedStudentSchema);\r","\r","    pm.expect(isValid, \"Schema mismatch\").to.be.true;\r","})\r","\r","})"],"type":"text/javascript","packages":{},"requests":{}}}],"id":"d1a27748-126f-474d-87af-ce64e45e1b4e","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Authorization","value":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VybmFtZSI6ImFkbWluIiwiaWF0IjoxNzczMDcxNzAxLCJleHAiOjE3NzMxNTgxMDF9.xFCi7wrgRzZytMaX50A0czAuURi1AMPopaQIe4xtzVY","type":"text"}],"url":"http://54.255.195.111:5171/api/student","urlObject":{"port":"5171","path":["api","student"],"host":["http://54.255.195.111"],"query":[],"variable":[]}},"response":[],"_postman_id":"d1a27748-126f-474d-87af-ce64e45e1b4e"},{"name":"Create Student Request vs Response validation","event":[{"listen":"test","script":{"id":"255559fc-3fab-40a7-9d63-bfd76b379da0","exec":["pm.test(\"Status code will be 201\", function(){\r","    pm.response.to.have.status(201);\r","})\r","\r","let requestBody = JSON.parse(pm.request.body.raw);\r","\r","\r","let responseBody = pm.response.json();\r","\r","pm.test(\"Response Name Matches Request Name\", function(){\r","    pm.expect(responseBody.name).to.eql(requestBody.name)\r","});\r","\r","pm.test(\"Response Registration Id Matches Reqest Registration Id\", function(){\r","    pm.expect(responseBody.registrationId).to.eql(requestBody.registrationId)\r","});\r","\r","pm.test(\"Response Email Matches Reqest Email\", function(){\r","    pm.expect(responseBody.email).to.eql(requestBody.email)\r","});\r","\r","pm.test(\"Response department Matches Reqest department\", function(){\r","    pm.expect(responseBody.department).to.eql(requestBody.department)\r","});\r","\r","pm.test(\"Response age Matches Reqest age\", function(){\r","    pm.expect(responseBody.age).to.eql(requestBody.age)\r","});"],"type":"text/javascript","packages":{},"requests":{}}},{"listen":"prerequest","script":{"id":"21a036c0-fb6a-4b2f-99f4-1997e92f6c85","exec":["let registrationId = Math.floor(Math.random()*10000);\r","\r","console.log(registrationId);\r","\r","pm.collectionVariables.set(\"Registration Id\", registrationId);"],"type":"text/javascript","packages":{},"requests":{}}}],"id":"a2bb1619-837c-46d4-8f57-fb56531a9507","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","value":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VybmFtZSI6ImFkbWluIiwiaWF0IjoxNzczMDcxNzAxLCJleHAiOjE3NzMxNTgxMDF9.xFCi7wrgRzZytMaX50A0czAuURi1AMPopaQIe4xtzVY","type":"text"}],"body":{"mode":"raw","raw":"{\r\n        \"name\": \"Test Mckayla\",\r\n        \"email\": \"Felton8@hotmail.com\",\r\n        \"department\": \"CSE\",\r\n        \"registrationId\": 5414,\r\n        \"age\": 25\r\n    }","options":{"raw":{"language":"json"}}},"url":"http://54.255.195.111:5171/api/student","urlObject":{"port":"5171","path":["api","student"],"host":["http://54.255.195.111"],"query":[],"variable":[]}},"response":[],"_postman_id":"a2bb1619-837c-46d4-8f57-fb56531a9507"},{"name":"Create Student validate without required field","event":[{"listen":"test","script":{"id":"255559fc-3fab-40a7-9d63-bfd76b379da0","exec":["pm.test(\"Student Cration fails for missing Email (Required Field)\", function(){\r","    pm.expect(pm.response.code).to.be.oneOf([400,422]);\r","})\r","\r","\r","pm.test(\"Proper Error Message validation for Email\", function(){\r","    const res = pm.response.json();\r","    let actualErrorMessage = res.error;\r","    let expectedErrorMessage = 'Email is required';\r","    console.log(actualErrorMessage);\r","    pm.expect(expectedErrorMessage).equal(actualErrorMessage);\r","})"],"type":"text/javascript","packages":{},"requests":{}}},{"listen":"prerequest","script":{"id":"21a036c0-fb6a-4b2f-99f4-1997e92f6c85","exec":["let registrationId = Math.floor(Math.random()*10000);\r","\r","console.log(registrationId);\r","\r","pm.collectionVariables.set(\"Registration Id\", registrationId);"],"type":"text/javascript","packages":{},"requests":{}}}],"id":"88db6013-5115-43a2-ab8b-278fda737332","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","value":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VybmFtZSI6ImFkbWluIiwiaWF0IjoxNzczMDcxNzAxLCJleHAiOjE3NzMxNTgxMDF9.xFCi7wrgRzZytMaX50A0czAuURi1AMPopaQIe4xtzVY","type":"text"}],"body":{"mode":"raw","raw":"{\r\n        \"name\": \"Test Chris\",\r\n        // \"email\": \"Gaston11@yahoo.com\",\r\n        \"department\": \"CSE\",\r\n        \"registrationId\": 5414,\r\n        \"age\": 25\r\n    }","options":{"raw":{"language":"json"}}},"url":"http://54.255.195.111:5171/api/student","urlObject":{"port":"5171","path":["api","student"],"host":["http://54.255.195.111"],"query":[],"variable":[]}},"response":[],"_postman_id":"88db6013-5115-43a2-ab8b-278fda737332"},{"name":"Create Student validate with required fields","event":[{"listen":"test","script":{"id":"255559fc-3fab-40a7-9d63-bfd76b379da0","exec":["pm.test(\"Response has correct properties\", function(){\r","    const res = pm.response.json();\r","\r","    pm.expect(res).to.have.property(\"name\");\r","    pm.expect(res).to.have.property(\"email\");\r","    pm.expect(res).to.have.property(\"department\");\r","    pm.expect(res).to.have.property(\"registrationId\");\r","    pm.expect(res).to.have.property(\"age\");\r","    pm.expect(res).to.have.property(\"_id\");\r","    \r","})"],"type":"text/javascript","packages":{},"requests":{}}},{"listen":"prerequest","script":{"id":"21a036c0-fb6a-4b2f-99f4-1997e92f6c85","exec":["let registrationId = Math.floor(Math.random()*10000);\r","\r","console.log(registrationId);\r","\r","pm.collectionVariables.set(\"Registration Id\", registrationId);"],"type":"text/javascript","packages":{},"requests":{}}}],"id":"f97abfe1-fc59-4f14-a61b-ac52a9387aab","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","value":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VybmFtZSI6ImFkbWluIiwiaWF0IjoxNzczMDcxNzAxLCJleHAiOjE3NzMxNTgxMDF9.xFCi7wrgRzZytMaX50A0czAuURi1AMPopaQIe4xtzVY","type":"text"}],"body":{"mode":"raw","raw":"{\r\n        \"name\": \"Test Brannon\",\r\n        \"email\": \"Meredith16@hotmail.com\",\r\n        \"department\": \"CSE\",\r\n        \"registrationId\": 5414,\r\n        \"age\": 25\r\n    }","options":{"raw":{"language":"json"}}},"url":"http://54.255.195.111:5171/api/student","urlObject":{"port":"5171","path":["api","student"],"host":["http://54.255.195.111"],"query":[],"variable":[]}},"response":[],"_postman_id":"f97abfe1-fc59-4f14-a61b-ac52a9387aab"},{"name":"Get Student and store random student name in collection variable","event":[{"listen":"test","script":{"id":"04a1329f-0fa6-42ef-a43b-51ad5679c13e","exec":["let response = pm.response.json();\r","\r","let randomIndex = Math.floor(Math.random() * response.length);\r","let student = response[randomIndex];\r","\r","pm.collectionVariables.set(\"studentId\", student._id);\r","pm.collectionVariables.set(\"studentName\", student.name);\r","pm.collectionVariables.set(\"studentEmail\", student.email);\r","pm.collectionVariables.set(\"studentDept\", student.department);\r","pm.collectionVariables.set(\"studentRegId\", student.registrationId);\r","pm.collectionVariables.set(\"studentAge\", student.age);"],"type":"text/javascript","packages":{},"requests":{}}}],"id":"d4e10f29-9f68-4831-929c-5887bd4f73f1","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Authorization","value":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VybmFtZSI6ImFkbWluIiwiaWF0IjoxNzczMDcxNzAxLCJleHAiOjE3NzMxNTgxMDF9.xFCi7wrgRzZytMaX50A0czAuURi1AMPopaQIe4xtzVY","type":"text"}],"url":"http://54.255.195.111:5171/api/student","urlObject":{"port":"5171","path":["api","student"],"host":["http://54.255.195.111"],"query":[],"variable":[]}},"response":[],"_postman_id":"d4e10f29-9f68-4831-929c-5887bd4f73f1"},{"name":"Get Student Name Filter","event":[{"listen":"test","script":{"id":"04a1329f-0fa6-42ef-a43b-51ad5679c13e","exec":["// let response = pm.response.json();\r","\r","// let expectedName = pm.collectionVariables.get(\"randomStudentName\");\r","\r","// pm.test(\"Response contains only students matching search name\", function(){\r","//     response.forEach(function(student){\r","//         pm.expect(student.name.toLowerCase()).to.eql(expectedName.toLowerCase());\r","//     })\r","// })\r","\r","\r","let response = pm.response.json();\r","\r","let expectedName = pm.collectionVariables.get(\"studentName\");\r","let expectedEmail = pm.collectionVariables.get(\"studentEmail\");\r","let expectedDept = pm.collectionVariables.get(\"studentDept\");\r","let expectedRegId = Number(pm.collectionVariables.get(\"studentRegId\"));\r","let expectedAge = Number(pm.collectionVariables.get(\"studentAge\"));\r","\r","pm.test(\"Response contains students matching stored data\", function () {\r","\r","    response.forEach(function(student){\r","\r","        pm.expect(student.name.toLowerCase())\r","        .to.eql(expectedName.toLowerCase());\r","\r","        pm.expect(student.email.toLowerCase())\r","        .to.eql(expectedEmail.toLowerCase());\r","\r","        pm.expect(student.department)\r","        .to.eql(expectedDept);\r","\r","        pm.expect(student.registrationId)\r","        .to.eql(expectedRegId);\r","\r","        pm.expect(student.age)\r","        .to.eql(expectedAge);\r","\r","    });\r","\r","});\r","\r",""],"type":"text/javascript","packages":{},"requests":{}}}],"id":"92265d74-e990-476b-9ec7-699a2a14ae76","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Authorization","value":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VybmFtZSI6ImFkbWluIiwiaWF0IjoxNzczMDcxNzAxLCJleHAiOjE3NzMxNTgxMDF9.xFCi7wrgRzZytMaX50A0czAuURi1AMPopaQIe4xtzVY","type":"text"}],"url":"http://54.255.195.111:5171/api/student?name=Test Agustina&email=Erica_Fadel@gmail.com&department=CSE&registrationId=7953&age=25","urlObject":{"port":"5171","path":["api","student"],"host":["http://54.255.195.111"],"query":[{"key":"name","value":"Test Agustina"},{"key":"email","value":"Erica_Fadel@gmail.com"},{"key":"department","value":"CSE"},{"key":"registrationId","value":"7953"},{"key":"age","value":"25"}],"variable":[]}},"response":[],"_postman_id":"92265d74-e990-476b-9ec7-699a2a14ae76"}],"event":[{"listen":"prerequest","script":{"id":"7b8310c7-9ff2-4418-b3b3-87bf261ad269","type":"text/javascript","packages":{},"requests":{},"exec":[""]}},{"listen":"test","script":{"id":"b5b3405c-bccb-4b13-88ba-be6e95788fe7","type":"text/javascript","packages":{},"requests":{},"exec":[""]}}],"variable":[{"key":"token","value":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VybmFtZSI6ImFkbWluIiwiaWF0IjoxNzczMDcxNzAxLCJleHAiOjE3NzMxNTgxMDF9.xFCi7wrgRzZytMaX50A0czAuURi1AMPopaQIe4xtzVY"},{"key":"Registration Id","value":5414},{"key":"randomStudentName","value":"testZena"},{"key":"studentId","value":"69933f3e4f5105aa3dfea8e8"},{"key":"studentName","value":"Test Agustina"},{"key":"studentEmail","value":"Erica_Fadel@gmail.com"},{"key":"studentDept","value":"CSE"},{"key":"studentRegId","value":7953},{"key":"studentAge","value":25},{"key":"baseURL","value":"http://54.255.195.111"}]}