Пример #1
0
    def test_delete_movie_executive_producer_success(self):
        total_movies_before = len(Movie.query.all())

        movie = Movie()
        movie.title = 'Action Filled Movie'
        movie.genre = 'Action'
        movie.insert()

        total_movies_after = len(Movie.query.all())
        self.assertEqual(total_movies_after, total_movies_before + 1)

        res = self.client().delete('/movies/' + str(movie.id),
                                   headers={
                                       "Authorization":
                                       "Bearer {}".format(
                                           self.executive_producer)
                                   })
        data = json.loads(res.data)

        total_movies_after = len(Movie.query.all())

        self.assertEqual(data['success'], True)
        self.assertEqual(data['delete'], movie.id)
        self.assertEqual(res.status_code, 200)
        self.assertEqual(total_movies_after, total_movies_before)
Пример #2
0
    def test_delete_movie_casting_director_not_authorized(self):
        movie = Movie()
        movie.title = 'Action Filled Movie'
        movie.genre = 'Action'
        movie.insert()

        res = self.client().delete('/movies/' + str(movie.id),
                                   headers={
                                       "Authorization":
                                       "Bearer {}".format(
                                           self.casting_director)
                                   })
        data = json.loads(res.data)

        self.assertEqual(data['success'], False)
        self.assertEqual(data['error'], 401)
        self.assertEqual(data['message'], 'Permission not found')
        self.assertEqual(res.status_code, 401)
Пример #3
0
 def post(self):
     """Create new movie"""
     data = request.get_json()
     # 1. validate genre, return 404 if invalid
     genre = Genre.query.get(data["genre"])
     if genre is None:
         # return 404
         return {"message": "The given genre ID does not exist."}, 404
     # 2. create new movie instance
     movie = Movie()
     movie.title = data["title"]
     movie.year = data["year"]
     # movie.genre_id = data["genre"]
     movie.genre = genre
     # 3. add instance to session, and commit
     db.session.add(movie)
     db.session.commit()
     # 4. return new created movie
     return {"movie": movie.to_json()}, 201
Пример #4
0
    def test_update_movie_executive_producer_success(self):
        movie = Movie()
        movie.title = 'Action Filled Movie'
        movie.genre = 'Action'
        movie.insert()

        update_movie = {'genre': 'Adventure'}

        res = self.client().patch('/movies/' + str(movie.id),
                                  headers={
                                      "Authorization":
                                      "Bearer {}".format(
                                          self.executive_producer)
                                  },
                                  json=update_movie)
        data = json.loads(res.data)

        self.assertEqual(data['success'], True)
        self.assertEqual(data['movie'][0]['genre'], 'Adventure')
        self.assertEqual(res.status_code, 200)