SCENARIO: User wants login in TMDB
DESCRIPTION: Verify session id has been created successfully
GIVEN The user has the TMDB url
AND The user has an api key
WHEN User creates a request token
AND User creates a session with username and password using request token
THEN Should return the session_id
SCENARIO: An user wants to create a list of movies
DESCRIPTION: Verify movie list has been created
GIVEN The user has the TMDB url
AND The user has an api key
AND The user has the session id
AND The user has a json with the list features
WHEN The user creates a list
THEN Status code should be 201
AND Status message saying "The item/record was created successfully"
SCENARIO: An user wants get the list details
DESCRIPTION: Should provide the details from a list
GIVEN The user has the TMDB url
AND The user has an api key
AND The user has the session id
AND The user has an id from a list
AND The list has a name
WHEN The user creates a list
THEN Status code should be 200
AND The name list must be the same that the given
SCENARIO: An user wants add a movie into a list
DESCRIPTION: Should add a movie in a movie list
GIVEN The user has the TMDB url
AND The user has an api key
AND The user has the session id
AND The user has an id from a list
AND The list has a name
WHEN The user creates a list
THEN Status code should be 200
AND The name list must be the same that the given
SCENARIO: An user wants clean a movie list
DESCRIPTION: Should remove movies from a list
GIVEN The user has the TMDB url
AND The user has an api key
AND The user has the session id
AND The user has an id from a list
AND The list contains at least 1 movie
WHEN The user clears the list
THEN Status code should be 201
AND The list must be empty
AND Status message saying "The item/record was updated successfully"
SCENARIO: An user wants delete a movie list
DESCRIPTION: Should delete a movie list
GIVEN The user has the TMDB url
AND The user has an api key
AND The user has the session id
AND The user has an id from a existing movie list
WHEN The user deletes a list
AND The user get details from removed list
THEN Status code should be 404
AND The resource you requested could not be found
SCENARIO: An user wants asks for a movie
DESCRIPTION: Should provide the details from a movie
GIVEN The user has the TMDB url
AND The user has an api key
AND The user has a movie id
WHEN The user asks for a movie by id
AND The user get details from a movie
THEN Status code should be 200
AND The title movie must match with the id provided
AND The movie must has its release date
AND The movie must have a producer
SCENARIO: An user wants update his movie rated vote
DESCRIPTION: Should update the movie rated vote
GIVEN The user has the TMDB url
AND The user has an api key
AND The user has the session id
AND The user has a movie id
AND The user has a json with vote to give
WHEN The user gives his new rated vote
THEN Status code should be 201
AND The item/record was updated successfully
SCENARIO: An user wants asks for a TV show
DESCRIPTION: Should provide the details from a TV show
GIVEN The user has the TMDB url
AND The user has an api key
AND The user has a TV show id
WHEN The user asks for a TV show by id
AND The user get details from a tv show
THEN Status code should be 200
AND The name must match with the id provided
AND The response must contain a number of seasons
AND The response must contain a number of episodes
SCENARIO: An user wants asks for alternatives titles from a TV show
DESCRIPTION: Should provide the alternatives titles from a TV show
GIVEN The user has the TMDB url
AND The user has an api key
AND The user has a TV show id
WHEN The user asks for a TV show by id
AND The user get details from a TV show
THEN Status code should be 200
AND The response must contain a results.title key
AND There must be different titles from the same TV show