feat : 수강신청 도메인 구성
This commit is contained in:
@@ -0,0 +1,298 @@
|
||||
{
|
||||
"info": {
|
||||
"name": "Course Registration API",
|
||||
"schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json",
|
||||
"description": "Seed dataset 기반 수강신청 API 검증 컬렉션. k6 부하 테스트는 별도 후속 범위입니다."
|
||||
},
|
||||
"item": [
|
||||
{
|
||||
"name": "Lessons",
|
||||
"item": [
|
||||
{
|
||||
"name": "List lessons",
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"header": [],
|
||||
"url": {
|
||||
"raw": "{{baseUrl}}/api/v1/lessons?semesterId={{semesterId}}&page=0&size=20",
|
||||
"host": [
|
||||
"{{baseUrl}}"
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "Get lesson",
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"header": [],
|
||||
"url": {
|
||||
"raw": "{{baseUrl}}/api/v1/lessons/{{lessonId}}",
|
||||
"host": [
|
||||
"{{baseUrl}}"
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "Registrations",
|
||||
"item": [
|
||||
{
|
||||
"name": "Register lesson",
|
||||
"request": {
|
||||
"method": "POST",
|
||||
"header": [
|
||||
{
|
||||
"key": "Content-Type",
|
||||
"value": "application/json"
|
||||
}
|
||||
],
|
||||
"url": {
|
||||
"raw": "{{baseUrl}}/api/v1/users/{{studentId}}/registrations",
|
||||
"host": [
|
||||
"{{baseUrl}}"
|
||||
]
|
||||
},
|
||||
"body": {
|
||||
"mode": "raw",
|
||||
"raw": "{\"lessonId\": \"{{lessonId}}\"}"
|
||||
}
|
||||
},
|
||||
"event": [
|
||||
{
|
||||
"listen": "test",
|
||||
"script": {
|
||||
"exec": [
|
||||
"pm.test('201 Created', () => pm.response.to.have.status(201));",
|
||||
"const body = pm.response.json();",
|
||||
"pm.environment.set('registrationId', body.registrationId);"
|
||||
],
|
||||
"type": "text/javascript"
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "My registrations",
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"header": [],
|
||||
"url": {
|
||||
"raw": "{{baseUrl}}/api/v1/users/{{studentId}}/registrations?semesterId={{semesterId}}",
|
||||
"host": [
|
||||
"{{baseUrl}}"
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "Cancel registration",
|
||||
"request": {
|
||||
"method": "DELETE",
|
||||
"header": [],
|
||||
"url": {
|
||||
"raw": "{{baseUrl}}/api/v1/users/{{studentId}}/registrations/{{registrationId}}",
|
||||
"host": [
|
||||
"{{baseUrl}}"
|
||||
]
|
||||
}
|
||||
},
|
||||
"event": [
|
||||
{
|
||||
"listen": "test",
|
||||
"script": {
|
||||
"exec": [
|
||||
"pm.test('204 No Content', () => pm.response.to.have.status(204));"
|
||||
],
|
||||
"type": "text/javascript"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "Error Scenarios",
|
||||
"item": [
|
||||
{
|
||||
"name": "Grade restriction",
|
||||
"request": {
|
||||
"method": "POST",
|
||||
"header": [
|
||||
{
|
||||
"key": "Content-Type",
|
||||
"value": "application/json"
|
||||
}
|
||||
],
|
||||
"url": {
|
||||
"raw": "{{baseUrl}}/api/v1/users/{{studentId}}/registrations",
|
||||
"host": [
|
||||
"{{baseUrl}}"
|
||||
]
|
||||
},
|
||||
"body": {
|
||||
"mode": "raw",
|
||||
"raw": "{\"lessonId\": \"{{minGradeLessonId}}\"}"
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "Role restriction",
|
||||
"request": {
|
||||
"method": "POST",
|
||||
"header": [
|
||||
{
|
||||
"key": "Content-Type",
|
||||
"value": "application/json"
|
||||
}
|
||||
],
|
||||
"url": {
|
||||
"raw": "{{baseUrl}}/api/v1/users/{{studentId}}/registrations",
|
||||
"host": [
|
||||
"{{baseUrl}}"
|
||||
]
|
||||
},
|
||||
"body": {
|
||||
"mode": "raw",
|
||||
"raw": "{\"lessonId\": \"{{postgraduateOnlyLessonId}}\"}"
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "Capacity first seat",
|
||||
"request": {
|
||||
"method": "POST",
|
||||
"header": [
|
||||
{
|
||||
"key": "Content-Type",
|
||||
"value": "application/json"
|
||||
}
|
||||
],
|
||||
"url": {
|
||||
"raw": "{{baseUrl}}/api/v1/users/{{studentId}}/registrations",
|
||||
"host": [
|
||||
"{{baseUrl}}"
|
||||
]
|
||||
},
|
||||
"body": {
|
||||
"mode": "raw",
|
||||
"raw": "{\"lessonId\": \"{{capacityOneLessonId}}\"}"
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "Capacity exceeded",
|
||||
"request": {
|
||||
"method": "POST",
|
||||
"header": [
|
||||
{
|
||||
"key": "Content-Type",
|
||||
"value": "application/json"
|
||||
}
|
||||
],
|
||||
"url": {
|
||||
"raw": "{{baseUrl}}/api/v1/users/{{student2Id}}/registrations",
|
||||
"host": [
|
||||
"{{baseUrl}}"
|
||||
]
|
||||
},
|
||||
"body": {
|
||||
"mode": "raw",
|
||||
"raw": "{\"lessonId\": \"{{capacityOneLessonId}}\"}"
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "Duplicate registration first",
|
||||
"request": {
|
||||
"method": "POST",
|
||||
"header": [
|
||||
{
|
||||
"key": "Content-Type",
|
||||
"value": "application/json"
|
||||
}
|
||||
],
|
||||
"url": {
|
||||
"raw": "{{baseUrl}}/api/v1/users/{{student2Id}}/registrations",
|
||||
"host": [
|
||||
"{{baseUrl}}"
|
||||
]
|
||||
},
|
||||
"body": {
|
||||
"mode": "raw",
|
||||
"raw": "{\"lessonId\": \"{{dataStructures01Id}}\"}"
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "Duplicate registration again",
|
||||
"request": {
|
||||
"method": "POST",
|
||||
"header": [
|
||||
{
|
||||
"key": "Content-Type",
|
||||
"value": "application/json"
|
||||
}
|
||||
],
|
||||
"url": {
|
||||
"raw": "{{baseUrl}}/api/v1/users/{{student2Id}}/registrations",
|
||||
"host": [
|
||||
"{{baseUrl}}"
|
||||
]
|
||||
},
|
||||
"body": {
|
||||
"mode": "raw",
|
||||
"raw": "{\"lessonId\": \"{{dataStructures01Id}}\"}"
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "Duplicate subject other section",
|
||||
"request": {
|
||||
"method": "POST",
|
||||
"header": [
|
||||
{
|
||||
"key": "Content-Type",
|
||||
"value": "application/json"
|
||||
}
|
||||
],
|
||||
"url": {
|
||||
"raw": "{{baseUrl}}/api/v1/users/{{student2Id}}/registrations",
|
||||
"host": [
|
||||
"{{baseUrl}}"
|
||||
]
|
||||
},
|
||||
"body": {
|
||||
"mode": "raw",
|
||||
"raw": "{\"lessonId\": \"{{dataStructures02Id}}\"}"
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "Schedule conflict",
|
||||
"request": {
|
||||
"method": "POST",
|
||||
"header": [
|
||||
{
|
||||
"key": "Content-Type",
|
||||
"value": "application/json"
|
||||
}
|
||||
],
|
||||
"url": {
|
||||
"raw": "{{baseUrl}}/api/v1/users/{{student2Id}}/registrations",
|
||||
"host": [
|
||||
"{{baseUrl}}"
|
||||
]
|
||||
},
|
||||
"body": {
|
||||
"mode": "raw",
|
||||
"raw": "{\"lessonId\": \"{{overlapLessonId}}\"}"
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
Reference in New Issue
Block a user