loading...

How to test REST API where major bussiness logic is written in SQL

ns23 profile image Nitesh Sawant ・1 min read

Hi all

I am working on REST API written in express where business logic is written in raw SQL queries.

I want to follow TDD for future development.But I am not able to find any resource to guide me on how to begin.

Could anyone please lead me in the right direction on how to write test ?

Discussion

pic
Editor guide
 

You have a couple of options:

  • Use a test framework for SQL like pgTAP
  • Analyze the database logic and test each set of inputs that can change the behavior.

There's not much to say about the first option. For the second, think of an API endpoint that creates a reservation for a hotel room. Your tests should initialize the database with one or more users and one or more rooms (shameless plug: I wrote a thing that makes that a lot more manageable).

Your basic test: given I already have users and rooms, I should be able to pass a request body with a user id, room id, and check in/out dates to my endpoint. After a successful request, I can retrieve a record from reservations matching my parameters. Access the database directly for setup and verification, but otherwise treat it as a "black box" and make sure you think through the different paths your logic takes based on the inputs you pass it.

 

Hi Dian

Thank you for your reply.

I was not aware about the concept of fixtures.I will surely look into it.