API Testcase Document
Below is a set of API Test Cases for the Book Management API, structured in a
comprehensive table format. Each test case includes:
Test Case ID
Description
Pre-condition
Test Steps
API Endpoint
Request Body
Expected Response Code
Expected Response Body
Assertions
📋 Book Management API – Test Cases
Test Case ID API_TC_01
Description Retrieve all books
Pre-condition API server is running and has at least one book record
Test Steps 1. Send a GET request to /books
API Endpoint GET /books
Request Body N/A
Expected Response Code 200 OK
Expected Response Body JSON array of book objects with id, title, author, isbn
Assertions - Response code is 200
- Response is a list
- Each book contains required fields
Test Case ID API_TC_02
Description Retrieve a specific book by ID
Pre-condition Book with ID = 1 exists
Test Steps 1. Send a GET request to /books/1
API Endpoint GET /books/1
Request Body N/A
Expected Response Code 200 OK
Expected Response Body JSON object for book ID 1 with title, author, isbn
Assertions - Response code is 200
- Book data matches expected fields and values
Test Case ID API_TC_03
Description Add a new book
Pre-condition API is accessible; no duplicate book data
Test Steps 1. Send a POST request to /books with new book JSON
API Endpoint POST /books
Request Body { "title": "Deep Work", "author": "Cal Newport",
"isbn": "9781455586691" }
Expected Response Code 201 Created
Expected Response Body { "message": "Book added successfully.",
"bookId": <int> }
Assertions - Response code is 201
- Success message and new bookId are returned
Test Case ID API_TC_04
Description Update entire book record
Pre-condition Book with ID = 3 exists
Test Steps 1. Send a PUT request to /books/3 with updated book data
API Endpoint PUT /books/3
Request Body { "title": "Deep Work (Updated Edition)",
"author": "Cal Newport", "isbn": "9781455586691"
}
Expected Response Code 200 OK
Expected Response Body { "message": "Book updated successfully." }
Assertions - Response code is 200
- Message confirms update
Test Case ID API_TC_05
Description Update book title only
Pre-condition Book with ID = 3 exists
Test Steps 1. Send a PATCH request to /books/3 with updated title
API Endpoint PATCH /books/3
Request Body { "title": "Deep Work (2nd Edition)" }
Expected Response Code 200 OK
Expected Response Body { "message": "Book title updated." }
Assertions - Response code is 200
- Title update message returned
Test Case ID API_TC_06
Description Delete a book
Pre-condition Book with ID = 3 exists
Test Steps 1. Send a DELETE request to /books/3
API Endpoint DELETE /books/3
Request Body N/A
Expected Response Code 200 OK
Expected Response Body { "message": "Book deleted successfully." }
Assertions - Response code is 200
- Message confirms deletion