예제 #1
0
 def test_create_offer_without_image(self):
     self.client.force_login(user=self.user)
     data = {
         'name': faker.name(),
         'description': faker.text(),
         'group': self.group.id,
         'images': [],
     }
     response = self.client.post('/api/offers/',
                                 data=encode_data_with_images(data))
     self.assertEqual(response.status_code, status.HTTP_201_CREATED,
                      response.data)
     self.assertEqual(response.data['name'], data['name'])
예제 #2
0
 def test_remove_all_images(self):
     offer = OfferFactory(user=self.user,
                          group=self.group,
                          images=[image_path, image_path])
     self.client.force_login(user=self.user)
     data = {
         'images': [{
             'id': image.id,
             '_removed': True,
         } for image in offer.images.all()],
     }
     response = self.client.patch('/api/offers/{}/'.format(offer.id),
                                  encode_data_with_images(data),
                                  format='multipart')
     self.assertEqual(response.status_code, status.HTTP_200_OK,
                      response.data)
예제 #3
0
 def test_create_offer(self, prepare_email):
     self.client.force_login(user=self.user)
     with open(image_path, 'rb') as image_file:
         data = {
             'name': faker.name(),
             'description': faker.text(),
             'group': self.group.id,
             'images': [{
                 'position': 0,
                 'image': image_file
             }],
         }
         response = self.client.post('/api/offers/',
                                     data=encode_data_with_images(data))
         self.assertEqual(response.status_code, status.HTTP_201_CREATED,
                          response.data)
         args, kwargs = prepare_email.call_args
         self.assertIsNotNone(kwargs['context']['offer_photo'])
예제 #4
0
 def test_add_image(self):
     offer = OfferFactory(user=self.user,
                          group=self.group,
                          images=[image_path])
     self.client.force_login(user=self.user)
     with open(image_path, 'rb') as image_file:
         data = {
             'images': [{
                 'position': 1,
                 'image': image_file
             }],
         }
         response = self.client.patch('/api/offers/{}/'.format(offer.id),
                                      encode_data_with_images(data),
                                      format='multipart')
         self.assertEqual(response.status_code, status.HTTP_200_OK,
                          response.data)
         self.assertEqual(len(response.data['images']), 2)
예제 #5
0
 def test_create_offer(self):
     self.client.force_login(user=self.user)
     with open(image_path, 'rb') as image_file:
         data = {
             'name': faker.name(),
             'description': faker.text(),
             'group': self.group.id,
             'images': [{
                 'position': 0,
                 'image': image_file
             }],
         }
         response = self.client.post('/api/offers/',
                                     data=encode_data_with_images(data))
         self.assertEqual(response.status_code, status.HTTP_201_CREATED,
                          response.data)
         self.assertEqual(response.data['name'], data['name'])
         self.assertTrue(
             'full_size' in response.data['images'][0]['image_urls'])