Exercise 2: Update the Information of an Existing Row

After you have finished this exercise, you understand how you can write the required row level assertions when you are writing integration tests for code that updates the information of an existing row. You can finish this exercise by following these steps:

1. Open the UpdateTodoItemTest class that’s found from the com.cleantestautomation.assertjdb.todoitem package.

2. Write the row level assertions which ensure that the system under test doesn’t make any changes to the information of the ‘Read all lessons’ todo item when the updated todo item isn’t found from the database. You have to add these assertions to the shouldNotMakeAnyChangesToInformationOfReadAllLessonsTodoItem() method that’s found from the WhenUpdatedTodoItemIsNotFound class.

3. Write the row level assertions which ensure that the system under test doesn’t make any changes to the information of the ‘Finish all exercises’ todo item when the updated todo item isn’t found from the database. You have to add these assertions to the shouldNotMakeAnyChangesToInformationOfFinishAllExercisesTodoItem() method that’s found from the WhenUpdatedTodoItemIsNotFound class.

4. Write the row level assertions which ensure that the system under test updates the description, title, modifier ID, modification time, and version of the ‘Read all lessons’ todo item when the updated todo item is found from the database. You have to add these assertions to the test methods found from the WhenUpdatedTodoItemIsFound class.

You can get the “current local date and time” by using the CURRENT_LOCAL_DATE_TIME constant that’s found from the ConstantDateTimeService class.

5. Write the row level assertions which ensure that the system under test doesn’t make any changes to the information of the ‘Finish all exercises’ todo item when the updated todo item is found from the database. You have to add these assertions to the shouldNotMakeAnyChangesToInformationOfFinishAllExercisesTodoItem() method that’s found from the WhenUpdatedTodoItemIsFound class.

6. Run the tests found from the UpdateTodoItemTest class and make sure that they pass.