예제 #1
0
    def test_rental_delete_by_id(self):
        rental = RentalModel(rental_schema.load(self.rental1))
        rental.save()

        res = RentalService.delete_by_id(1234)
        self.assertEqual(res.status_code, 404)

        res = RentalService.delete_by_id(1)
        self.assertEqual(res.status_code, 204)
예제 #2
0
    def test_rental_get_by_id(self):
        rental = RentalModel(rental_schema.load(self.rental1))
        rental.save()

        res = RentalService.get_by_id(13)
        self.assertEqual(res.status_code, 404)

        res = RentalService.get_by_id(1)

        json_data = json.loads(res.data)
        self.assertEqual(res.status_code, 200)
        self.assertEqual(json_data.get('movie_id'), 1)
예제 #3
0
    def test_rental_create(self):
        # fail first
        res = RentalService.create(rental_schema.load({}, partial=True))
        self.assertEqual(res.status_code, 400)

        res = RentalService.create(
            rental_schema.load({'movie_id': 1}, partial=True))
        self.assertEqual(res.status_code, 201)

        res = RentalService.get_all()
        json_data = json.loads(res.data)
        self.assertEqual(res.status_code, 200)
        self.assertEqual(json_data.__len__(), 1)
예제 #4
0
    def test_rental_get_all(self):
        rental = RentalModel(rental_schema.load(self.rental1))
        rental.save()
        rental = RentalModel(rental_schema.load(self.rental1))
        rental.save()
        res = RentalService.get_all()

        json_data = json.loads(res.data)
        self.assertEqual(res.status_code, 200)
        self.assertEqual(json_data.__len__(), 2)
예제 #5
0
 def post(self):
     """Return Movie"""
     req_data = request.get_json()
     return RentalService.return_movie(req_data)
예제 #6
0
 def delete(self, rental_id: int):
     """Delete Rental"""
     return RentalService.delete_by_id(rental_id)
예제 #7
0
 def put(self, rental_id: int):
     """Update Rental"""
     req_data = request.get_json()
     return RentalService.update(rental_id, req_data)
예제 #8
0
 def get(self, rental_id: int):
     """Get Rental by Id"""
     return RentalService.get_by_id(rental_id)
예제 #9
0
 def get(self):
     """Get all Rentals"""
     return RentalService.get_all()
예제 #10
0
 def post(self):
     """Rent Movie (Create Rental)"""
     req_data = request.get_json()
     return RentalService.create(req_data)
예제 #11
0
    def test_rental_update_without_permission(self):
        rental = RentalModel(rental_schema.load(self.rental1))
        rental.save()

        res = RentalService.update(1, rental_schema.load({}, partial=True))
        self.assertEqual(res.status_code, 400)
예제 #12
0
    def test_rental_update_not_found(self):
        rental = RentalModel(rental_schema.load(self.rental1))
        rental.save()

        res = RentalService.update(33, rental_schema.load({}, partial=True))
        self.assertEqual(res.status_code, 404)
예제 #13
0
    def test_rental_get_by_id_without_permission(self):
        rental = RentalModel(rental_schema.load(self.rental1))
        rental.save()

        res = RentalService.get_by_id(1)
        self.assertEqual(res.status_code, 400)