Beispiel #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.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'
            }
Beispiel #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.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)
Beispiel #3
0
 def setUp(self):
     self.admin = UserProfileFactory.create()
     self.admin.user.set_password('1234567')
     self.admin.make_as_admin()
     self.admin.save()
     self.user = UserProfileFactory.create()
     self.client = Client()
Beispiel #4
0
 def setUp(self):
     self.admin = UserProfileFactory.create()
     self.admin.user.set_password('1234567')
     self.admin.make_as_admin()
     self.admin.save()
     self.client = Client()
     self.users = [UserProfileFactory.create() for x in range(5)]
     for user in self.users:
         user.make_as_academic_staff()
Beispiel #5
0
 def setUp(self):
     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.client = Client()
     self.factory = RequestFactory()
Beispiel #6
0
class TestRegister(TestCase):
    def setUp(self):
        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.client = Client()
        self.factory = RequestFactory()

    def test_register_valid_user(self):
        data={
            'username': '******',
            'password': '******',
            'email': '*****@*****.**',
            'first_name': 'dima',
            'last_name': 'k',
            'city': 'Kiev',
            'phone': '123123'}
        response = self.client.post('/user/register/', data)
        self.assertEqual(response.status_code, 200)

    def test_register_already_registered_user(self):
        data = {
            'username': '******',
            'password': '******',
            'email': '*****@*****.**',
            'first_name': 'dima',
            'last_name': 'k',
            'city': 'Kiev',
            'phone': '123123'}

        response = self.client.post('/user/register/', data)
        self.assertEqual(response.status_code, 400)

    def test_register_invalid_form(self):
        def test_register_alreadyRegistered_user(self):
            data = {
                'usesrname': 'user',
                'password': '******',
                'email': '*****@*****.**',
                'first_name': 'dima',
                'last_name': 'k',
                'city': 'Kiev',
                'phone': '123123'}
            response = self.client.post('/user/register/', data)
            self.assertEqual(response.status_code, 400)
Beispiel #7
0
 def setUp(self):
     self.user = UserProfileFactory.create()
     self.user.user.set_password('1234567')
     self.user.save()
     self.semester = Settings()
     self.semester.start_semester = datetime.strptime("21092017", "%d%m%Y")
     self.semester.end_semester = datetime.strptime("22092018", "%d%m%Y")
     self.semester.save()
     self.client = Client()
     self.factory = RequestFactory()
     self.week_days = ['3', '5']
     self.start_date = datetime.strptime("21092017", "%d%m%Y").date()
     self.end_date = datetime.strptime("22102017", "%d%m%Y").date()
     self.hour = datetime.strptime("08:00", "%H:%M").time()
     self.hour2 = datetime.strptime("10:00", "%H:%M").time()
     self.building_name = Building.objects.filter(name='UAC')
     self.place_name = Place.objects.filter(pk=3)
     self.parameters = {
         'name': 'Reservaoiasd',
         'start_hour': self.hour,
         'end_hour': self.hour2,
         'start_date': self.start_date,
         'end_date': self.end_date,
         'building': self.building_name[0].pk,
         'place': self.place_name[0].pk,
         'week_days': self.week_days,
         'date_options': 'opt_select_date',
         'tags': 'hello'
     }
Beispiel #8
0
 def setUp(self):
     self.user = UserProfileFactory.create()
     self.user.user.set_password('1234567')
     self.user.save()
     self.booking = BookingFactory.create(user=self.user.user)
     self.booking.save()
     self.client = Client()
Beispiel #9
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.create(organizer=self.user)
        self.event.save()

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

        self.food_chicken = FoodFactory(food_type="Chicken")
        self.food_chicken.save()
Beispiel #10
0
    def create_users_factories(self, username, name):
        try:
            user = UserFactory(usename=username,
                               name=name,
                               email=username)
            userprofile = UserProfileFactory(user=user)
        except:
            user = User.objects.get(username=username)

        return user
Beispiel #11
0
 def setUp(self):
     self.user = UserProfileFactory.create()
     self.user.user.set_password('1234567')
     self.user.save()
     self.booking = BookingFactory(user=self.user.user)
     print(self.booking)
     print(self.booking.time.all())
     self.client = Client()
     self.id_booking = self.booking.id
     self.id_booktime = self.booking.time.all()[0].id
Beispiel #12
0
 def setUp(self):
     self.booking = BookingFactory.create()
     self.booking.place.is_laboratory = True
     self.booking.save()
     self.factory = RequestFactory()
     self.userprofile = UserProfileFactory.create()
     self.userprofile.make_as_admin()
     self.userprofile.user.set_password('123456')
     self.userprofile.save()
     self.client = Client()
     self.username = self.userprofile.user.username
Beispiel #13
0
 def setUp(self):
     self.start_date = datetime.strptime("21092017", "%d%m%Y")
     self.end_date = datetime.strptime("22102017", "%d%m%Y")
     self.parameters = {'start_semester': "09/20/2017",
                        'end_semester': "09/24/2017"}
     self.user = UserProfileFactory.create()
     self.user.user.set_password('123456')
     self.user.make_as_admin()
     self.user.save()
     self.client = Client()
     self.factory = RequestFactory()
     self.settings = Settings()
Beispiel #14
0
 def test_responsible(self):
     username = self.user.user.username
     client = self.client
     self.user.make_as_admin()
     responsible_user = UserProfileFactory.create()
     self.parameters['date_options'] = 'opt_select_date'
     self.parameters['engineering_choice'] = '1'
     self.parameters['responsible'] = responsible_user.__str__()
     client.login(username=username, password='******')
     response = client.post('/booking/newbooking/', self.parameters)
     booking = Booking.objects.get(name=self.parameters['name'])
     self.assertEqual(booking.user.id, responsible_user.user.id)
Beispiel #15
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)
Beispiel #16
0
 def setUp(self):
     self.booking = BookingFactory.create()
     self.booking.place.is_laboratory = True
     self.booking.save()
     self.tag = Tag(name="teste")
     self.tag.save()
     self.tag2 = Tag(name="teste2")
     self.tag2.save()
     self.user = UserProfileFactory.create()
     self.user.user.set_password('1234567')
     self.user.save()
     self.client = Client()
     self.booking.tags.add(self.tag)
     self.booking.save()
Beispiel #17
0
 def test_days_list(self):
     start_date = datetime.strptime("21092017", "%d%m%Y")
     end_date = datetime.strptime("22092017", "%d%m%Y")
     building_name = Building.objects.get(name='UAC')
     room_name = Place.objects.get(pk=9)
     user = UserProfileFactory.create()
     booking = BookingFactory.create(user=user.user,
                                     start_date=start_date,
                                     end_date=end_date)
     parameters = {
         'search_options': 'opt_room_period',
         'building_name': building_name,
         'room_name': room_name,
         'start_date': start_date,
         'end_date': end_date
     }
     form = SearchBookingForm(data=parameters)
     form.is_valid()
     days = []
     days.append(start_date.date())
     days.append(end_date.date())
     days2 = form.days_list()
     self.assertEqual(days, days2)
Beispiel #18
0
 def user(self):
     userprofile = UserProfileFactory.create()
     return userprofile.user
Beispiel #19
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)
Beispiel #20
0
 def test_is_admin(self):
     userprofile = UserProfileFactory.create()
     self.assertFalse(userprofile.is_admin())
     userprofile.make_as_admin()
     self.assertTrue(userprofile.is_admin())
Beispiel #21
0
 def test_is_academic_staff(self):
     userprofile = UserProfileFactory.create()
     self.assertFalse(userprofile.is_academic_staff())
     userprofile.make_as_academic_staff()
     self.assertTrue(userprofile.is_academic_staff())
Beispiel #22
0
class TestEventItemResource(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.create(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_post_successfully_created_event(self):
        self.client.login(username="******", password="******")
        event = {
            'name': 'Rock and Roll',
            'category': 'BBQ',
            'event_date': str(date.today()),
            'chicken': 'on',
            'pork': 'on'
        }
        response = self.client.post('/events/item/',
                                    json.dumps(event),
                                    content_type='application/json')
        self.assertEqual(response.status_code, 302)

    def test_post_not_logged_in_created_event(self):

        event = {
            'name': 'Rock and Roll',
            'category': 'BBQ',
            'event_date': str(date.today()),
            'chicken': 'on',
            'pork': 'on'
        }
        response = self.client.post('/events/item/',
                                    json.dumps(event),
                                    content_type='application/json')
        self.assertEqual(response.status_code, 401)

    def test_post_create_already_created_event(self):
        self.client.login(username="******", password="******")
        event = {
            'name': self.event.name,
            'category': self.event.category,
            'event_date': str(self.event.event_date),
            'chicken': 'on',
            'pork': 'on'
        }
        response = self.client.post('/events/item/',
                                    json.dumps(event),
                                    content_type='application/json')
        self.assertEqual(response.status_code, 400)

    def test_post_wrong_date(self):
        self.client.login(username="******", password="******")
        event = {
            'name': 'Rock and Roll',
            'category': 'BBQ',
            'event_date': str(date.today() - timedelta(days=1)),
            'chicken': 'on',
            'pork': 'on'
        }
        response = self.client.post('/events/item/',
                                    json.dumps(event),
                                    content_type='application/json')
        self.assertEqual(response.status_code, 400)

    def test_post_wrong_name(self):
        self.client.login(username="******", password="******")
        event = {
            'name': '',
            'category': 'BBQ',
            'event_date': str(date.today()),
            'chicken': 'on',
            'pork': 'on'
        }
        response = self.client.post('/events/item/',
                                    json.dumps(event),
                                    content_type='application/json')
        self.assertEqual(response.status_code, 400)

    def test_post_empty_category(self):
        self.client.login(username="******", password="******")
        event = {
            'name': 'Rock and Roll',
            'category': None,
            'event_date': str(date.today()),
            'chicken': 'on',
            'pork': 'on'
        }
        response = self.client.post('/events/item/',
                                    json.dumps(event),
                                    content_type='application/json')
        self.assertEqual(response.status_code, 400)

    def test_post_empty_food_types(self):
        self.client.login(username="******", password="******")
        event = {
            'name': 'Rock and Roll',
            'category': 'BBQ',
            'event_date': str(date.today()),
            'noodels': 'on'
        }
        response = self.client.post('/events/item/',
                                    json.dumps(event),
                                    content_type='application/json')
        self.assertEqual(response.status_code, 400)

    def test_post_empty_food_types(self):
        self.client.login(username="******", password="******")
        event = {
            'name': 'Rock and Roll',
            'category': 'BBQ',
            'event_date': str(date.today()),
        }
        response = self.client.post('/events/item/',
                                    json.dumps(event),
                                    content_type='application/json')
        self.assertEqual(response.status_code, 400)

    def test_post_empty_date(self):
        self.client.login(username="******", password="******")
        event = {
            'name': 'Rock and Roll',
            'category': 'BBQ',
            'event_date': None,
            'food_types': [self.food.id, self.food_chicken.id]
        }
        response = self.client.post('/events/item/',
                                    json.dumps(event),
                                    content_type='application/json')
        self.assertEqual(response.status_code, 400)
Beispiel #23
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)