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'])
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)
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'])
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)
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'])