Finally, we are going to implement the last tests of the Order model manager. We are going to create tests for the set_status method. The set_status method does exactly what the name implies; it will set a status for a given order. We need to perform the following tests:
- Set a status and verify that the order's status has really changed
- Set the status in an order that is already completed; it should raise an exception of type OrderAlreadyCompletedError
- Set the status in an order that is already canceled; it should raise an exception of type OrderAlreadyCancelledError
- Call the set_status method using an invalid order; it should raise an exception of type InvalidArgumentError
- Call the set_status method using an invalid ...