def testCastingAssistantGetMovies(self): # Ensures there is at least one movie in the database to get. movie = Movie('Spirited Away', datetime.datetime(2001, 7, 20)) movie.add() response = self.client().get('/movies', headers=CAAuth) self.assertEqual(response.status_code, 200)
def post_movies(payload): title = request.get_json().get('title', 'untitled') release_date = request.get_json().get('release_date', None) movie = Movie(title, release_date) movie.add() return jsonify({ 'success': True, 'movie': movie.format() })
def testExecutiveProducerUpdateMovie(self): # Ensures there is at least one movie in the database to update. movie = Movie('Spirited Away', datetime.datetime(2001, 7, 20)) movie.add() movieId = len(Movie.query.all()) response = self.client().patch('/movies/' + str(movieId), json=dict(title='Ponyo'), headers=EPAuth) self.assertEqual(response.status_code, 200)
def testUpdateMovieSuccess(self): # Ensures there is at least one movie in the database to update. movie = Movie('Spirited Away', datetime.datetime(2001, 7, 20)) movie.add() movieId = len(Movie.query.all()) response = self.client().patch('/movies/' + str(movieId), json=dict(title='Ponyo'), headers=self.headers) data = json.loads(response.data.decode()) title = data['title'] movie = Movie.query.get(movieId) self.assertEqual(response.status_code, 200) self.assertEqual(title, movie.title)
def testGetMoviesSuccess(self): # Ensures there is at least one movie in the database to get. movie = Movie('Spirited Away', datetime.datetime(2001, 7, 20)) movie.add() movies = format(Movie.query.all()) numOfMovies = len(movies) response = self.client().get('/movies', headers=self.headers) data = json.loads(response.data.decode()) # Checks the ids in the response against the ids in the database. sameIds = all([data['movies'][i]['id'] == movies[i].id for i in range(0, numOfMovies)]) self.assertEqual(response.status_code, 200) self.assertTrue(isinstance(data['movies'], list)) self.assertTrue(sameIds) self.assertEqual(len(data['movies']), numOfMovies)
def setUp(self): self.app = create_app() self.client = self.app.test_client self.database_path = os.environ['HEROKU_POSTGRESQL_MAUVE_URL'] self.casting_assistant_token = os.environ['CASTING_ASSISTANT_TOKEN'] self.casting_director_token = os.environ['CASTING_DIRECTOR_TOKEN'] self.executive_producer_token = os.environ['EXECUTIVE_DIRECTOR_TOKEN'] self.db = setup_db(self.app, database_path=self.database_path) self.new_movie = {"title": "new_title", "release_date": "1999/1/1"} self.new_actor = {"name": "new_actor", "age": 0, "gender": "male"} # binds the app to the current context with self.app.app_context(): self.db.init_app(self.app) # create all tables self.db.drop_all() self.db.create_all() movie = Movie("title", "1999/1/1") movie.add() actor = Actor("name", 0, "gender") actor.add()