def test_create_reservation_before_check_in(self): # Input guest's token into client self.client.credentials(HTTP_AUTHORIZATION='Token ' + self.token2.key, ) # Reservation data now = timezone.now() check_in_date = (now + timedelta(1)).strftime('%Y-%m-%d') check_out_date = (now + timedelta(2)).strftime('%Y-%m-%d') data = { 'check_in_date': check_in_date, 'check_out_date': check_out_date, 'house': 1, 'guest_num': 3, } # Create reservation through POST request response = self.client.post(self.URL, data) self.assertEqual(response.status_code, status.HTTP_201_CREATED) self.assertEqual(response.data['check_in_date'], data['check_in_date']) self.assertEqual(response.data['check_out_date'], data['check_out_date']) self.assertEqual(response.data['guest_num'], 3) self.assertEqual(response.data['reservation_status'], 'RE') self.assertEqual(response.data['reservation_current_state'], 'BE') self.assertEqual(response.data['created_date'], timezone.now().strftime('%Y-%m-%d')) self.assertEqual(response.data['modified_date'], timezone.now().strftime('%Y-%m-%d')) clear_imagekit_test_files()
def test_delete_house(self): response = self.client.delete(self.URL + f'{self.HOUSE_PK}/') self.assertEqual(response.status_code, status.HTTP_204_NO_CONTENT) self.assertFalse(House.objects.all()) self.assertEqual( HouseImage.objects.filter(house__pk=self.HOUSE_PK).count(), 0) clear_imagekit_test_files()
def test_create_reseration(self): page_num = math.ceil(self.USER_COUNT / self.PAGE_SIZE) for i in range(int(page_num)): response = self.client.get(self.URL, { 'page': i + 1, 'page_size': self.PAGE_SIZE }) # status code self.assertEqual(response.status_code, status.HTTP_200_OK) # count self.assertIsNotNone(response.data['count'], 'count') self.assertEqual(response.data['count'], self.USER_COUNT) # next, previous if i < page_num - 1: self.assertIsNotNone(response.data['next']) if i > 0: self.assertIsNotNone(response.data['previous']) # result # 1) # to_representation에서 build_absolute_uri() 때문에 위 assertEqual에서 fail # self.assertEqual(response.data['results'], # ReservationSerializer( # Reservation.objects.all()[i * self.PAGE_SIZE: (i + 1) * self.PAGE_SIZE], # many=True).data) # print(response.data['results']) # print(ReservationSerializer( # Reservation.objects.all()[i * self.PAGE_SIZE:(i+1) * self.PAGE_SIZE], many=True).data) # 2) # adding url host reservation_object_list = [] for i in ReservationSerializer( Reservation.objects.all()[i * self.PAGE_SIZE:(i + 1) * self.PAGE_SIZE], many=True).data: i['house']['img_cover'] = 'http://testserver' + i['house'][ 'img_cover'] i['house']['img_cover_thumbnail'] = 'http://testserver' + i[ 'house']['img_cover_thumbnail'] for idx in range(len(i['house']['house_images'])): i['house']['house_images'][idx] = 'http://testserver' + i[ 'house']['house_images'][idx] reservation_object_list.append(i) print(reservation_object_list) self.assertEqual(response.data['results'], reservation_object_list) clear_imagekit_test_files()
def test_create_reseration(self): self.client.credentials(HTTP_AUTHORIZATION='Token ' + self.token.key, ) file_path = os.path.join(settings.STATIC_DIR, 'iu.jpg') img_cover = open(file_path, 'rb') house_image1_path = os.path.join(settings.STATIC_DIR, 'test', 'test_inner_image.jpg') house_image2_path = os.path.join(settings.STATIC_DIR, 'test', 'test_outer_image.jpg') house_image1 = open(house_image1_path, 'rb') house_image2 = open(house_image2_path, 'rb') amenities_list = ['TV', '에어컨', '전자렌지', '커피포트', '컴퓨터', '공기청정기'] facilities_list = ['수영장', '엘리베이터', '세탁소', '노래방', '오락실', '온천'] [Amenities.objects.create(name=name) for name in amenities_list] [Facilities.objects.create(name=name) for name in facilities_list] data = { 'house_type': House.HOUSE_TYPE_HOUSING, 'name': '우리집', 'description': '테스트용 집입니다.', 'room': 1, 'bed': 2, 'bathroom': 2, 'personnel': 3, 'amenities': [], 'facilities': [1, 2, 3, 4, 5], 'minimum_check_in_duration': 1, 'maximum_check_in_duration': 3, 'maximum_check_in_range': 90, 'price_per_night': 100000, 'country': '대한민국', 'city': '사랑시', 'district': '고백구', 'dong': '행복동', 'address1': '777-1', # 'address2': '희망빌라 2동 301호', 'latitude': '12.12345670000000', 'longitude': '123.12345670000000', 'disable_days': [ '2014-01-01', '2014-02-01', '2014-03-01', '2014-04-01', ], 'img_cover': img_cover, 'house_images': [ house_image1, house_image2, ], } response = self.client.post(self.URL1, data) print(response) # print(response.data.get('serializer').instance) print(response.data.get('pk')) house_pk = response.data.get('pk') house = get_object_or_404(House, pk=house_pk) print(house) # # Host User 숙소 등록 # self.house = House.objects.create( # ) # Reservation 생성 self.client.credentials(HTTP_AUTHORIZATION='Token ' + self.token.key, ) data = { 'check_in_date': '2018-04-25', 'check_out_date': '2018-04-27', 'house': '1', } response = self.client.post(self.URL2, data) print(response) img_cover.close() house_image1.close() house_image2.close() clear_imagekit_test_files()
def test_update_house(self): file_path = os.path.join(settings.STATIC_DIR, 'img_profile_default.png') house_image1_path = os.path.join(settings.STATIC_DIR, 'iu.jpg') house_image2_path = os.path.join(settings.STATIC_DIR, 'suzi.jpg') img_cover = open(file_path, 'rb') house_image1 = open(house_image1_path, 'rb') house_image2 = open(house_image2_path, 'rb') self.UPDATE_DATA['img_cover'] = img_cover self.UPDATE_DATA['house_images'] = [house_image1, house_image2] response = self.client.put(self.URL + f'{self.HOUSE_PK}/', self.UPDATE_DATA) img_cover.close() house_image1.close() house_image2.close() self.assertEqual(response.status_code, status.HTTP_200_OK) self.assertEqual(response.data['house_type'], self.UPDATE_DATA['house_type']) self.assertEqual(response.data['name'], self.UPDATE_DATA['name']) self.assertEqual(response.data['description'], self.UPDATE_DATA['description']) self.assertEqual(response.data['room'], self.UPDATE_DATA['room']) self.assertEqual(response.data['bed'], self.UPDATE_DATA['bed']) self.assertEqual(response.data['bathroom'], self.UPDATE_DATA['bathroom']) self.assertEqual(response.data['personnel'], self.UPDATE_DATA['personnel']) self.assertEqual(response.data['amenities'], self.UPDATE_DATA['amenities']) self.assertEqual(response.data['facilities'], self.UPDATE_DATA['facilities']) self.assertEqual(response.data['minimum_check_in_duration'], self.UPDATE_DATA['minimum_check_in_duration']) self.assertEqual(response.data['maximum_check_in_duration'], self.UPDATE_DATA['maximum_check_in_duration']) self.assertEqual(response.data['maximum_check_in_range'], self.UPDATE_DATA['maximum_check_in_range']) self.assertEqual(response.data['price_per_night'], self.UPDATE_DATA['price_per_night']) self.assertEqual(response.data['created_date'], datetime.date.today().strftime('%Y-%m-%d')) self.assertEqual(response.data['modified_date'], datetime.date.today().strftime('%Y-%m-%d')) self.assertEqual(response.data['host']['pk'], self.user.pk) self.assertEqual(response.data['country'], self.UPDATE_DATA['country']) self.assertEqual(response.data['city'], self.UPDATE_DATA['city']) self.assertEqual(response.data['district'], self.UPDATE_DATA['district']) self.assertEqual(response.data['dong'], self.UPDATE_DATA['dong']) self.assertEqual(response.data['address1'], self.UPDATE_DATA['address1']) # self.assertEqual(response.data['address2'], self.UPDATE_DATA['address2']) self.assertEqual(response.data['latitude'], self.UPDATE_DATA['latitude']) self.assertEqual(response.data['longitude'], self.UPDATE_DATA['longitude']) self.assertIn('disable_days', response.data) for index, date in enumerate(response.data['disable_days']): self.assertEqual(date.strftime('%Y-%m-%d'), self.UPDATE_DISABLE_DAYS[index]) self.assertIn('house_images', response.data) house = House.objects.get(pk=response.data['pk']) self.assertEqual(house.house_type, self.UPDATE_DATA['house_type']) self.assertEqual(house.name, self.UPDATE_DATA['name']) self.assertEqual(house.description, self.UPDATE_DATA['description']) self.assertEqual(house.room, self.UPDATE_DATA['room']) self.assertEqual(house.bed, self.UPDATE_DATA['bed']) self.assertEqual(house.bathroom, self.UPDATE_DATA['bathroom']) self.assertEqual(house.personnel, self.UPDATE_DATA['personnel']) self.assertEqual(list(house.amenities.values_list('pk', flat=True)), self.UPDATE_DATA['amenities']) self.assertEqual(list(house.facilities.values_list('pk', flat=True)), self.UPDATE_DATA['facilities']) self.assertEqual(house.minimum_check_in_duration, self.UPDATE_DATA['minimum_check_in_duration']) self.assertEqual(house.maximum_check_in_duration, self.UPDATE_DATA['maximum_check_in_duration']) self.assertEqual(house.maximum_check_in_range, self.UPDATE_DATA['maximum_check_in_range']) self.assertEqual(house.price_per_night, self.UPDATE_DATA['price_per_night']) self.assertEqual(house.created_date, datetime.date.today()) self.assertEqual(house.modified_date, datetime.date.today()) self.assertEqual(house.host.pk, self.user.pk) self.assertEqual(house.host.is_host, True) self.assertEqual(house.country, self.UPDATE_DATA['country']) self.assertEqual(house.city, self.UPDATE_DATA['city']) self.assertEqual(house.district, self.UPDATE_DATA['district']) self.assertEqual(house.dong, self.UPDATE_DATA['dong']) self.assertEqual(house.address1, self.UPDATE_DATA['address1']) # self.assertEqual(house.address2, self.UPDATE_DATA['address2']) self.assertEqual(house.latitude, Decimal(self.UPDATE_DATA['latitude'])) self.assertEqual(house.longitude, Decimal(self.UPDATE_DATA['longitude'])) self.assertEqual(house.disable_days.count(), len(self.UPDATE_DISABLE_DAYS)) disable_day_list = list( house.disable_days.values_list('date', flat=True)) for index, date in enumerate(disable_day_list): self.assertEqual(date.strftime('%Y-%m-%d'), self.UPDATE_DISABLE_DAYS[index]) self.assertTrue( upload_file_cmp(file_path=file_path, img_name=house.img_cover.name)) self.assertTrue( upload_file_cmp(file_path=house_image1_path, img_name=house.images.first().image.name)) self.assertTrue( upload_file_cmp(file_path=house_image2_path, img_name=house.images.last().image.name)) clear_imagekit_test_files()
def test_list_house(self): page_num = math.ceil(self.HOUSE_COUNT / self.PAGE_SIZE) for i in range(int(page_num)): response = self.client.get(self.URL, { 'page': i + 1, 'page_size': self.PAGE_SIZE }) self.assertEqual(response.status_code, status.HTTP_200_OK) self.assertIsNotNone(response.data['count'], 'count') self.assertEqual(response.data['count'], self.HOUSE_COUNT) if i < page_num - 1: self.assertIsNotNone(response.data['next'], 'next') if i > 0: self.assertIsNotNone(response.data['previous'], 'previous') results = response.data['results'] for j in range(len(results)): house_result = results[j] self.assertEqual(house_result['pk'], ((i * self.PAGE_SIZE) + j) + 1) self.assertEqual(house_result['house_type'], self.DATA['house_type']) self.assertEqual(house_result['name'], self.DATA['name']) self.assertEqual(house_result['description'], self.DATA['description']) self.assertEqual(house_result['room'], self.DATA['room']) self.assertEqual(house_result['bed'], self.DATA['bed']) self.assertEqual(house_result['bathroom'], self.DATA['bathroom']) self.assertEqual(house_result['personnel'], self.DATA['personnel']) self.assertEqual(house_result['amenities'], self.AMENITIES) self.assertEqual(house_result['facilities'], self.FACILITIES) self.assertEqual(house_result['minimum_check_in_duration'], self.DATA['minimum_check_in_duration']) self.assertEqual(house_result['maximum_check_in_duration'], self.DATA['maximum_check_in_duration']) self.assertEqual(house_result['maximum_check_in_range'], self.DATA['maximum_check_in_range']) self.assertEqual(house_result['price_per_night'], self.DATA['price_per_night']) self.assertEqual(house_result['created_date'], datetime.date.today().strftime('%Y-%m-%d')) self.assertEqual(house_result['modified_date'], datetime.date.today().strftime('%Y-%m-%d')) self.assertEqual( house_result.get('host').get('pk'), self.user1.pk if ((i * self.PAGE_SIZE) + j) % 2 else self.user2.pk) self.assertEqual(house_result['country'], self.DATA['country']) self.assertEqual(house_result['city'], self.DATA['city']) self.assertEqual(house_result['district'], self.DATA['district']) self.assertEqual(house_result['dong'], self.DATA['dong']) self.assertEqual(house_result['address1'], self.DATA['address1']) self.assertEqual( house_result['latitude'], self.BASE_GPS['latitude'] if i + j == 0 else self.DATA['latitude']) self.assertEqual( house_result['longitude'], self.BASE_GPS['longitude'] if i + j == 0 else self.DATA['longitude']) self.assertIn('disable_days', house_result) for index, date in enumerate(house_result['disable_days']): self.assertEqual(date.strftime('%Y-%m-%d'), self.DISABLE_DAYS[index]) self.assertIn('house_images', house_result) house = House.objects.get(pk=house_result['pk']) self.assertEqual(house.pk, ((i * self.PAGE_SIZE) + j) + 1) self.assertEqual(house.house_type, self.DATA['house_type']) self.assertEqual(house.name, self.DATA['name']) self.assertEqual(house.description, self.DATA['description']) self.assertEqual(house.room, self.DATA['room']) self.assertEqual(house.bed, self.DATA['bed']) self.assertEqual(house.bathroom, self.DATA['bathroom']) self.assertEqual(house.personnel, self.DATA['personnel']) self.assertEqual( list(house.amenities.values_list('pk', flat=True)), self.AMENITIES) self.assertEqual( list(house.facilities.values_list('pk', flat=True)), self.FACILITIES) self.assertEqual(house.minimum_check_in_duration, self.DATA['minimum_check_in_duration']) self.assertEqual(house.maximum_check_in_duration, self.DATA['maximum_check_in_duration']) self.assertEqual(house.maximum_check_in_range, self.DATA['maximum_check_in_range']) self.assertEqual(house.price_per_night, self.DATA['price_per_night']) self.assertEqual(house.created_date, datetime.date.today()) self.assertEqual(house.modified_date, datetime.date.today()) self.assertEqual( house.host.pk, self.user1.pk if ((i * self.PAGE_SIZE) + j) % 2 else self.user2.pk) self.assertEqual(house.country, self.DATA['country']) self.assertEqual(house.city, self.DATA['city']) self.assertEqual(house.district, self.DATA['district']) self.assertEqual(house.dong, self.DATA['dong']) self.assertEqual(house.address1, self.DATA['address1']) # self.assertEqual(house.address2, self.DATA['address2']) self.assertEqual( house.latitude, Decimal(self.BASE_GPS['latitude']) if i + j == 0 else Decimal(self.DATA['latitude'])) self.assertEqual( house.longitude, Decimal(self.BASE_GPS['longitude']) if i + j == 0 else Decimal(self.DATA['longitude'])) self.assertEqual(house.disable_days.count(), len(self.DISABLE_DAYS)) disable_day_list = list( house.disable_days.values_list('date', flat=True)) for index, date in enumerate(disable_day_list): self.assertEqual(date.strftime('%Y-%m-%d'), self.DISABLE_DAYS[index]) self.assertTrue( upload_file_cmp(file_path=self.file_path, img_name=house.img_cover.name)) self.assertTrue( upload_file_cmp(file_path=self.house_image1_path, img_name=house.images.first().image.name)) self.assertTrue( upload_file_cmp(file_path=self.house_image2_path, img_name=house.images.last().image.name)) clear_imagekit_test_files()
def test_retrieve_house(self): response = self.client.get(self.URL + f'{self.HOUSE_PK}/') self.assertEqual(response.status_code, status.HTTP_200_OK) self.assertEqual(response.data['pk'], self.HOUSE_PK) self.assertEqual(response.data['house_type'], self.DATA['house_type']) self.assertEqual(response.data['name'], self.DATA['name']) self.assertEqual(response.data['description'], self.DATA['description']) self.assertEqual(response.data['room'], self.DATA['room']) self.assertEqual(response.data['bed'], self.DATA['bed']) self.assertEqual(response.data['bathroom'], self.DATA['bathroom']) self.assertEqual(response.data['personnel'], self.DATA['personnel']) self.assertEqual(response.data['amenities'], self.AMENITIES) self.assertEqual(response.data['facilities'], self.FACILITIES) self.assertEqual(response.data['minimum_check_in_duration'], self.DATA['minimum_check_in_duration']) self.assertEqual(response.data['maximum_check_in_duration'], self.DATA['maximum_check_in_duration']) self.assertEqual(response.data['maximum_check_in_range'], self.DATA['maximum_check_in_range']) self.assertEqual(response.data['price_per_night'], self.DATA['price_per_night']) self.assertEqual(response.data['created_date'], datetime.date.today().strftime('%Y-%m-%d')) self.assertEqual(response.data['modified_date'], datetime.date.today().strftime('%Y-%m-%d')) self.assertEqual(response.data.get('host').get('pk'), self.user1.pk if (self.HOUSE_PK - 1) % 2 else self.user2.pk) self.assertEqual(response.data['country'], self.DATA['country']) self.assertEqual(response.data['city'], self.DATA['city']) self.assertEqual(response.data['district'], self.DATA['district']) self.assertEqual(response.data['dong'], self.DATA['dong']) self.assertEqual(response.data['address1'], self.DATA['address1']) # self.assertEqual(response.data['address2'], self.DATA['address2']) self.assertEqual(response.data['latitude'], self.DATA['latitude']) self.assertEqual(response.data['longitude'], self.DATA['longitude']) self.assertIn('disable_days', response.data) for index, date in enumerate(response.data['disable_days']): self.assertEqual(date.strftime('%Y-%m-%d'), self.DISABLE_DAYS[index]) self.assertIn('house_images', response.data) house = House.objects.get(pk=response.data['pk']) self.assertEqual(house.pk, self.HOUSE_PK) self.assertEqual(house.house_type, self.DATA['house_type']) self.assertEqual(house.name, self.DATA['name']) self.assertEqual(house.description, self.DATA['description']) self.assertEqual(house.room, self.DATA['room']) self.assertEqual(house.bed, self.DATA['bed']) self.assertEqual(house.bathroom, self.DATA['bathroom']) self.assertEqual(house.personnel, self.DATA['personnel']) self.assertEqual(list(house.amenities.values_list('pk', flat=True)), self.AMENITIES) self.assertEqual(list(house.facilities.values_list('pk', flat=True)), self.FACILITIES) self.assertEqual(house.minimum_check_in_duration, self.DATA['minimum_check_in_duration']) self.assertEqual(house.maximum_check_in_duration, self.DATA['maximum_check_in_duration']) self.assertEqual(house.maximum_check_in_range, self.DATA['maximum_check_in_range']) self.assertEqual(house.price_per_night, self.DATA['price_per_night']) self.assertEqual(house.created_date, datetime.date.today()) self.assertEqual(house.modified_date, datetime.date.today()) self.assertEqual(house.host.pk, self.user1.pk if (self.HOUSE_PK - 1) % 2 else self.user2.pk) self.assertEqual(house.country, self.DATA['country']) self.assertEqual(house.city, self.DATA['city']) self.assertEqual(house.district, self.DATA['district']) self.assertEqual(house.dong, self.DATA['dong']) self.assertEqual(house.address1, self.DATA['address1']) # self.assertEqual(house.address2, self.DATA['address2']) self.assertEqual(house.latitude, Decimal(self.DATA['latitude'])) self.assertEqual(house.longitude, Decimal(self.DATA['longitude'])) self.assertEqual(house.disable_days.count(), len(self.DISABLE_DAYS)) disable_day_list = list(house.disable_days.values_list('date', flat=True)) for index, date in enumerate(disable_day_list): self.assertEqual(date.strftime('%Y-%m-%d'), self.DISABLE_DAYS[index]) self.assertTrue(upload_file_cmp(file_path=self.file_path, img_name=house.img_cover.name)) self.assertTrue(upload_file_cmp(file_path=self.house_image1_path, img_name=house.images.first().image.name)) self.assertTrue(upload_file_cmp(file_path=self.house_image2_path, img_name=house.images.last().image.name)) clear_imagekit_test_files()
def test_create_house(self): self.client.credentials(HTTP_AUTHORIZATION='Token ' + self.token.key, ) file_path = os.path.join(settings.STATIC_DIR, 'iu.jpg') img_cover = open(file_path, 'rb') house_image1_path = os.path.join(settings.STATIC_DIR, 'test', 'test_inner_image.jpg') house_image2_path = os.path.join(settings.STATIC_DIR, 'test', 'test_outer_image.jpg') house_image1 = open(house_image1_path, 'rb') house_image2 = open(house_image2_path, 'rb') print(img_cover) print(type(img_cover)) print(type(house_image1)) print(type(house_image2)) amenities_list = ['TV', '에어컨', '전자렌지', '커피포트', '컴퓨터', '공기청정기'] facilities_list = ['수영장', '엘리베이터', '세탁소', '노래방', '오락실', '온천'] [Amenities.objects.create(name=name) for name in amenities_list] [Facilities.objects.create(name=name) for name in facilities_list] data = { 'house_type': House.HOUSE_TYPE_HOUSING, 'name': '우리집', 'description': '테스트용 집입니다.', 'room': 1, 'bed': 2, 'bathroom': 2, 'personnel': 3, 'amenities': [], 'facilities': [1, 2, 3, 4, 5], 'minimum_check_in_duration': 1, 'maximum_check_in_duration': 3, 'maximum_check_in_range': 90, 'price_per_night': 100000, 'country': '대한민국', 'city': '사랑시', 'district': '고백구', 'dong': '행복동', 'address1': '777-1', # 'address2': '희망빌라 2동 301호', 'latitude': '12.12345670000000', 'longitude': '123.12345670000000', 'disable_days': [ '2014-01-01', '2014-02-01', '2014-03-01', '2014-04-01', ], 'img_cover': img_cover, 'house_images': [ house_image1, house_image2, ], } response = self.client.post(self.URL, data) img_cover.close() house_image1.close() house_image2.close() self.assertEqual(response.status_code, status.HTTP_201_CREATED) self.assertEqual(response.data['house_type'], data['house_type']) self.assertEqual(response.data['name'], data['name']) self.assertEqual(response.data['description'], data['description']) self.assertEqual(response.data['room'], data['room']) self.assertEqual(response.data['bed'], data['bed']) self.assertEqual(response.data['bathroom'], data['bathroom']) self.assertEqual(response.data['personnel'], data['personnel']) self.assertEqual(response.data['amenities'], data['amenities']) self.assertEqual(response.data['facilities'], data['facilities']) self.assertEqual(response.data['minimum_check_in_duration'], data['minimum_check_in_duration']) self.assertEqual(response.data['maximum_check_in_duration'], data['maximum_check_in_duration']) self.assertEqual(response.data['maximum_check_in_range'], data['maximum_check_in_range']) self.assertEqual(response.data['price_per_night'], data['price_per_night']) self.assertEqual(response.data['created_date'], datetime.date.today().strftime('%Y-%m-%d')) self.assertEqual(response.data['modified_date'], datetime.date.today().strftime('%Y-%m-%d')) self.assertEqual(response.data['host']['pk'], self.user.pk) self.assertEqual(response.data['country'], data['country']) self.assertEqual(response.data['city'], data['city']) self.assertEqual(response.data['district'], data['district']) self.assertEqual(response.data['dong'], data['dong']) self.assertEqual(response.data['address1'], data['address1']) # self.assertEqual(response.data['address2'], data['address2']) self.assertEqual(response.data['latitude'], data['latitude']) self.assertEqual(response.data['longitude'], data['longitude']) self.assertIn('disable_days', response.data) for index, date in enumerate(response.data['disable_days']): self.assertEqual(date.strftime('%Y-%m-%d'), data['disable_days'][index]) house = House.objects.get(pk=response.data['pk']) self.assertIn('house_images', response.data) self.assertEqual(house.house_type, data['house_type']) self.assertEqual(house.name, data['name']) self.assertEqual(house.description, data['description']) self.assertEqual(house.room, data['room']) self.assertEqual(house.bed, data['bed']) self.assertEqual(house.bathroom, data['bathroom']) self.assertEqual(house.personnel, data['personnel']) self.assertEqual(list(house.amenities.values_list('pk', flat=True)), data['amenities']) self.assertEqual(list(house.facilities.values_list('pk', flat=True)), data['facilities']) self.assertEqual(house.minimum_check_in_duration, data['minimum_check_in_duration']) self.assertEqual(house.maximum_check_in_duration, data['maximum_check_in_duration']) self.assertEqual(house.maximum_check_in_range, data['maximum_check_in_range']) self.assertEqual(house.price_per_night, data['price_per_night']) self.assertEqual(house.created_date, datetime.date.today()) self.assertEqual(house.modified_date, datetime.date.today()) self.assertEqual(house.host.pk, self.user.pk) self.assertEqual(house.host.is_host, True) self.assertEqual(house.country, data['country']) self.assertEqual(house.city, data['city']) self.assertEqual(house.district, data['district']) self.assertEqual(house.dong, data['dong']) self.assertEqual(house.address1, data['address1']) # self.assertEqual(house.address2, data['address2']) self.assertEqual(house.latitude, Decimal(data['latitude'])) self.assertEqual(house.longitude, Decimal(data['longitude'])) self.assertEqual(house.disable_days.count(), len(data['disable_days'])) disable_day_list = list( house.disable_days.values_list('date', flat=True)) for index, date in enumerate(disable_day_list): self.assertEqual(date.strftime('%Y-%m-%d'), data['disable_days'][index]) self.assertTrue( upload_file_cmp(file_path=file_path, img_name=house.img_cover.name)) self.assertTrue( upload_file_cmp(file_path=house_image1_path, img_name=house.images.first().image.name)) self.assertTrue( upload_file_cmp(file_path=house_image2_path, img_name=house.images.last().image.name)) clear_imagekit_test_files()