예제 #1
0
    def setUp(self):
        self.client = Client()
        self.user_auth = UserAuthFactory(username="******",
                                         password="******",
                                         email="*****@*****.**")
        self.user_auth.save()
        self.user = UserProfileFactory(user_auth=self.user_auth,
                                       phone='0123456789',
                                       city='Eind')
        self.user.save()
        self.event = EventFactory(organizer=self.user)
        self.event.save()

        self.food = FoodFactory()
        self.food.save()

        self.food_chicken = FoodFactory(food_type="Chicken")
        self.food_chicken.save()

        self.food_order_1 = FoodOrderFactory(food=self.food_chicken)
        self.food_order_1.save()

        self.food_order_2 = FoodOrderFactory(food=self.food)
        self.food_order_2.save()

        self.attendee = AttendeeFactory()
        self.attendee.save()

        self.event_attendee = EventAttendeeFactory(event=self.event,
                                                   attendee=self.attendee)
        self.event_attendee.save()

        self.event_attendee.food_orders.add(self.food_order_1)
        self.event_attendee.food_orders.add(self.food_order_2)
예제 #2
0
    def setUp(self):
        self.client = Client()
        self.user_auth = UserAuthFactory(username="******", password="******",
            email="*****@*****.**")
        self.user_auth.save()
        self.user = UserProfileFactory(user_auth = self.user_auth,
            phone = '0123456789', city = 'Eind')
        self.user.save()

        self.food = FoodFactory()
        self.food.save()

        self.food_chicken = FoodFactory(food_type="Chicken")
        self.food_chicken.save()

        self.event = EventFactory(organizer = self.user)
        self.event.save()
        self.event.food_types.add(self.food)
        self.event.food_types.add(self.food_chicken)

        self.event_date =  str(self.event.event_date)

        self.data = {
            'first_name' : 'Pouya',
            'last_name' : 'Samadi Khah',
            'number_of_guests': '5',
            'beef': '4',
            'pork': '5'
            }
예제 #3
0
    def setUpTestData(cls):
        cls.admin = User.objects.create_superuser(username="******",
                                                  email="*****@*****.**",
                                                  password="******")
        cls.contact = ContactFactory(added_by=cls.admin, )

        cls.event = EventFactory(
            contact=cls.contact,
            user=cls.admin,
        )
예제 #4
0
    def setUp(self):
        self.client = Client()
        self.user_auth = UserAuthFactory(username="******",
                                         password="******",
                                         email="*****@*****.**")
        self.user_auth.save()
        self.user = UserProfileFactory(user_auth=self.user_auth,
                                       phone='0123456789',
                                       city='Eind')
        self.user.save()
        self.event = EventFactory(organizer=self.user)
        self.event.save()

        self.food = FoodFactory()
        self.food.save()

        self.food_chicken = FoodFactory(food_type="Chicken")
        self.food_chicken.save()

        self.event.food_types.add(self.food)
        self.event.food_types.add(self.food_chicken)
예제 #5
0
class TestEventResource(TestCase):
    def setUp(self):
        self.client = Client()
        self.user_auth = UserAuthFactory(username="******",
                                         password="******",
                                         email="*****@*****.**")
        self.user_auth.save()
        self.user = UserProfileFactory(user_auth=self.user_auth,
                                       phone='0123456789',
                                       city='Eind')
        self.user.save()
        self.event = EventFactory(organizer=self.user)
        self.event.save()

        self.food = FoodFactory()
        self.food.save()

        self.food_chicken = FoodFactory(food_type="Chicken")
        self.food_chicken.save()

        self.event.food_types.add(self.food)
        self.event.food_types.add(self.food_chicken)

    def test_get_successfully_all_events(self):
        self.client.login(username="******", password="******")
        response = self.client.get('/events/')
        event_date = str(self.event.event_date)
        event = response.data['events'][0]
        self.assertEqual(response.status_code, 200)
        self.assertEqual(event['name'], self.event.name)
        self.assertEqual(event['organizer_name'],
                         self.event.organizer.user_auth.get_full_name())
        self.assertEqual(event['category'], self.event.category)
        self.assertEqual(event['number_of_attendees'], 0)
        self.assertEqual(event['event_date'], event_date)
        self.assertEqual(len(event['food_types']), 2)

    def test_get_user_is_not_loggedin(self):
        response = self.client.get('/events/')
        self.assertEqual(response.status_code, 401)
예제 #6
0
class TestEventAttendeeResource(TestCase):
    def setUp(self):
        self.client = Client()
        self.user_auth = UserAuthFactory(username="******", password="******",
            email="*****@*****.**")
        self.user_auth.save()
        self.user = UserProfileFactory(user_auth = self.user_auth,
            phone = '0123456789', city = 'Eind')
        self.user.save()

        self.food = FoodFactory()
        self.food.save()

        self.food_chicken = FoodFactory(food_type="Chicken")
        self.food_chicken.save()

        self.event = EventFactory(organizer = self.user)
        self.event.save()
        self.event.food_types.add(self.food)
        self.event.food_types.add(self.food_chicken)

        self.event_date =  str(self.event.event_date)

        self.data = {
            'first_name' : 'Pouya',
            'last_name' : 'Samadi Khah',
            'number_of_guests': '5',
            'beef': '4',
            'pork': '5'
            }

    def test_post_successfully_created_attendee(self):
        response = self.client.post(
          f"/user/attend/{self.event_date }/{self.event.name}",
          json.dumps(self.data), content_type='application/json')
        self.assertEqual(response.status_code, 200)

    def test_post_invalid_event_date(self):
        event_date = str(self.event.event_date - timedelta(days = -1))
        response = self.client.post(
          f"/user/attend/{event_date}/{self.event.name}",
          json.dumps(self.data), content_type='application/json')
        self.assertEqual(response.status_code, 404)

    def test_post_invalid_event_name(self):
        response = self.client.post(
          f"/user/attend/{self.event_date }/wrong",
          json.dumps(self.data), content_type='application/json')
        self.assertEqual(response.status_code, 404)

    def test_post_invalid_format_guests(self):
        self.data['number_of_guests'] = 'invalid'
        response = self.client.post(
          f"/user/attend/{self.event_date }/{self.event.name}",
          json.dumps(self.data), content_type='application/json')
        self.assertEqual(response.status_code, 400)

    def test_post_invalid_format_first_name(self):
        self.data['first_name'] = None
        response = self.client.post(
          f"/user/attend/{self.event_date }/{self.event.name}",
          json.dumps(self.data), content_type='application/json')
        self.assertEqual(response.status_code, 400)

    def test_post_invalid_format_last_name(self):
        self.data['last_name'] = None
        response = self.client.post(
          f"/user/attend/{self.event_date }/{self.event.name}",
          json.dumps(self.data), content_type='application/json')
        self.assertEqual(response.status_code, 400)

    def test_post_empty_food_orders_attendee(self):
        self.data = {
            'first_name' : 'Pouya',
            'last_name' : 'Samadi Khah',
            'number_of_guests': '5',
            }
        response = self.client.post(
          f"/user/attend/{self.event_date }/{self.event.name}",
          json.dumps(self.data), content_type='application/json')
        self.assertEqual(response.status_code, 400)
예제 #7
0
 def setUp(self):
     self.user = UserFactory.create()
     self.event = EventFactory.create()
     self.ticket = TicketFactory.create(event=self.event)
예제 #8
0
class TestEventInstanceResource(TestCase):
    def setUp(self):
        self.client = Client()
        self.user_auth = UserAuthFactory(username="******",
                                         password="******",
                                         email="*****@*****.**")
        self.user_auth.save()
        self.user = UserProfileFactory(user_auth=self.user_auth,
                                       phone='0123456789',
                                       city='Eind')
        self.user.save()
        self.event = EventFactory(organizer=self.user)
        self.event.save()

        self.food = FoodFactory()
        self.food.save()

        self.food_chicken = FoodFactory(food_type="Chicken")
        self.food_chicken.save()

        self.food_order_1 = FoodOrderFactory(food=self.food_chicken)
        self.food_order_1.save()

        self.food_order_2 = FoodOrderFactory(food=self.food)
        self.food_order_2.save()

        self.attendee = AttendeeFactory()
        self.attendee.save()

        self.event_attendee = EventAttendeeFactory(event=self.event,
                                                   attendee=self.attendee)
        self.event_attendee.save()

        self.event_attendee.food_orders.add(self.food_order_1)
        self.event_attendee.food_orders.add(self.food_order_2)

    def test_get_wrong_date_event(self):
        event_date = str(self.event.event_date - timedelta(days=10))
        response = self.client.get("/events/item/"
                                   f"{event_date}/{self.event.name}")
        self.assertEqual(response.status_code, 404)

    def test_get_wrong_event_name(self):
        event_date = str(self.event.event_date)
        response = self.client.get(f"/events/item/{event_date}/wrong")
        self.assertEqual(response.status_code, 404)

    def test_get_successfully_event(self):
        event_date = str(self.event.event_date)
        response = self.client.get("/events/item/"
                                   f"{event_date}/{self.event.name}")
        self.assertEqual(response.status_code, 200)
        data = response.data.get('event')
        self.assertEqual(data['name'], self.event.name)
        self.assertEqual(data['event_date'], event_date)
        self.assertEqual(data['organizer_name'],
                         self.event.organizer.user_auth.get_full_name())
        self.assertEqual(data['category'], self.event.category)
        self.assertEqual(data['number_of_attendees'], 11)
        food_order_number_list = {'chicken': 5, 'pork': 5}
        self.assertEqual(data['food_order_number_list'],
                         food_order_number_list)
예제 #9
0
 def setUp(self):
     self.user = UserFactory.create()
     self.event = EventFactory.create()