def test_get(self): event1 = Event(name = 'FST Pre-Orientation', start_date_time = '2020-08-05T09:00:00Z', end_date_time = '2020-08-05T14:00:00Z', location = 'Faculty of Science and Technology') event1.save() event2 = Event(name = 'Fresher\'s Orientation', start_date_time = '2020-08-28T09:00:00Z', end_date_time = '2020-08-28T14:00:00Z', location = 'UWI, Mona') event2.save() response = self.client.get('/events/') self.assertEqual(response.status_code, 200) data = response.json() self.assertEqual(len(data), 2) expected_response = [{ 'id': event1.id, 'name': 'FST Pre-Orientation', 'start_date_time': '2020-08-05T09:00:00Z', 'end_date_time': '2020-08-05T14:00:00Z', 'location': 'Faculty of Science and Technology' }, { 'id': event2.id, 'name': 'Fresher\'s Orientation', 'start_date_time': '2020-08-28T09:00:00Z', 'end_date_time': '2020-08-28T14:00:00Z', 'location': 'UWI, Mona' }] self.assertEqual(data, expected_response)
def setUpTestData(cls): Event.objects.bulk_create([ Event(description='Тестовое событие', date=datetime.datetime.now(pytz.utc)), Event(description='Второе тестовое событие', date=datetime.datetime.now(pytz.utc)), Event(description='Третье тестовое событие', date=datetime.datetime.now(pytz.utc)) ])
def setUp(cls): """ Data setup for the Subscription Unit test cases """ role = Role(role="subscriber") role.save() content = { "email": "*****@*****.**", "name": "user 12", "password": "******", "contact": "9999911111", "address": "Bangalore", "role": "subscriber", "organization": "Eventhigh" } url1 = reverse('registration') response = cls.client.post(url1, json.dumps(content), content_type='application/json') cls.user_id = response.data['data']['user']['user_id'] cls.token = response.data['data']['access'] cls.event_type = EventType(type="test") cls.event_type.save() cls.event = Event(name="test_event", type=cls.event_type, description="New Event", date="2020-04-02", time="12:38:00", location="karnal", subscription_fee=100, no_of_tickets=250, images="https://www.google.com/images", sold_tickets=0, external_links="google.com", event_created_by_id=cls.user_id) cls.event.save() cls.event_free = Event(name="test_event_free", type=cls.event_type, description="New Event", date="2020-04-02", time="12:38:00", location="karnal", subscription_fee=0, no_of_tickets=250, images="https://www.google.com/images", sold_tickets=0, external_links="google.com", event_created_by_id=cls.user_id) cls.event_free.save() cls.end_point = "/core/subscription/"
def test_has_stats(self): event = Event() self.assertFalse(event.has_stats) event = Event(applicants_count=10) self.assertFalse(event.has_stats) event = Event(attendees_count=20) self.assertFalse(event.has_stats) event = Event(attendees_count=20, applicants_count=40) self.assertTrue(event.has_stats)
def test_has_stats(): event = Event() assert event.has_stats is False event = Event(applicants_count=10) assert event.has_stats is False event = Event(attendees_count=20) assert event.has_stats is False event = Event(attendees_count=20, applicants_count=40) assert event.has_stats is True
def test_is_upcoming(): now = timezone.now() now_event = Event(date=ApproximateDate(now.year, now.month, now.day)) yesterday = now - timedelta(days=1) yesterday_event = Event( date=ApproximateDate(yesterday.year, yesterday.month, yesterday.day)) tomorrow = now + timedelta(days=1) tomorrow_event = Event( date=ApproximateDate(tomorrow.year, tomorrow.month, tomorrow.day)) assert now_event.is_upcoming() assert not yesterday_event.is_upcoming() assert tomorrow_event.is_upcoming()
def test_get(self): event1 = Event( name='General Orientation for New Undergraduate Students', start_date_time='2020-08-28T09:00:00Z', end_date_time='2020-08-28T15:00:00Z', location='Online', poster_image='assets/general_orientation_poster.JPG') event1.save() event2 = Event(name='FST Virtual Orientation', start_date_time='2020-08-31T09:00:00Z', end_date_time='2020-09-04T17:00:00Z', location='Online', poster_image='assets/fst_orientation_poster.JPG') event2.save() response = self.client.get('/events/') self.assertEqual(response.status_code, 200) data = response.json() self.assertEqual(len(data), 2) expected_response = [{ 'id': event1.id, 'name': 'General Orientation for New Undergraduate Students', 'start_date_time': '2020-08-28T09:00:00Z', 'end_date_time': '2020-08-28T15:00:00Z', 'location': 'Online', 'poster_image': 'assets/general_orientation_poster.JPG' }, { 'id': event2.id, 'name': 'FST Virtual Orientation', 'start_date_time': '2020-08-31T09:00:00Z', 'end_date_time': '2020-09-04T17:00:00Z', 'location': 'Online', 'poster_image': 'assets/fst_orientation_poster.JPG' }] self.assertEqual(data, expected_response)
def setUp(cls): """ Data set up for the unit test """ role = Role(role="organizer") role.save() user = User.objects.create_user(email="*****@*****.**", password="******") role_obj = Role.objects.get(role="organizer") user_profile_obj = UserProfile.objects.create( user=user, name="*****@*****.**", contact_number="9999911111", organization="organization", address="Bangalore", role=role_obj) user_profile_obj.save() data = dict(email="*****@*****.**", password="******") login_response = cls.client.post('/authentication/login', json.dumps(data), content_type='application/json') cls.user_id = login_response.data['data']['user']['user_id'] cls.token = login_response.data['data']['access'] cls.user = User.objects.get(id=cls.user_id) cls.event_type = EventType(type="test") cls.event_type.save() cls.event = Event(name="test_event", type=cls.event_type, description="New Event", date="2020-04-02", time="12:38:00", location="karnal", subscription_fee=500, no_of_tickets=250, images="https://www.google.com/images", sold_tickets=0, external_links="google.com", event_created_by_id=cls.user_id) cls.event.save()
def create_event_viewset(request): getUserId = Token.objects.get( key=request.META.get("HTTP_AUTHORIZATION").split()[1] ).user_id getUserObj = User.objects.get(id=getUserId) ev = Event(owner=getUserObj) serializer = EventSerializer(ev, data=request.data) if serializer.is_valid(): today = datetime.now().date() date_str = request.data.get("date") format_str = "%Y-%m-%d" date_obj = datetime.strptime(date_str, format_str) if date_obj.date() < today: raise serializers.ValidationError( {"date": "Il n'est pas possible de créer un événement dans le passé"} ) crt_time = datetime.now().time() time_str = request.data.get("time") time_obj = datetime.strptime(time_str, "%H:%M") if time_obj.time() < crt_time and date_obj.date() <= today: raise serializers.ValidationError( { "time": "Il n'est pas possible de \ créer un événement dans le passé" } ) serializer.save() return Response(serializer.data, status=status.HTTP_201_CREATED) else: return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)
def setUp(cls): """ Data setup for Feedback Unit test cases """ role = Role(role="organizer") role.save() role2 = Role(role="subscriber") role2.save() user = User.objects.create_user(email="*****@*****.**", password="******") cls.role_obj = Role.objects.get(role="organizer") user_profile_obj = UserProfile.objects.create( user=user, name="*****@*****.**", contact_number="9999911111", organization="organization", address="Bangalore", role=cls.role_obj) user_profile_obj.save() content2 = { "email": "*****@*****.**", "name": "user 20", "password": "******", "contact": "9999911111", "address": "Bangalore", "role": "subscriber", "organization": "Eventhigh" } response = cls.client.post('/authentication/registration', json.dumps(content2), content_type='application/json') cls.user_id = response.data['data']['user']['user_id'] cls.token = response.data['data']['access'] cls.end_point = "/core/feedback/" cls.event_type = EventType(type="test") cls.event_type.save() cls.event = Event(name="test_event", type=cls.event_type, description="New Event", date="2020-04-02", time="12:38:00", location="karnal", subscription_fee=499, no_of_tickets=250, images="https://www.google.com/images", sold_tickets=0, external_links="google.com", event_created_by_id=User.objects.filter()[0].id) cls.event.save() cls.question = Question(question="Demo question1 ?") cls.question.save()
def test_should_raise_validation_error_on_invalid_level(self): event = Event( title="Event", level="INVALID_LEVEL", description="django.core.exceptions.ValidationError", agent=self.agent, shelved=False, ) self.assertRaises(ValidationError, event.full_clean)
def view(request, asso_id): asso = Association.objects.get(pk=asso_id) if request.method == 'POST': form = event_form(request.POST, request.FILES) if form.is_valid(): event = Event.objects.all().filter( title=form.cleaned_data['title']) if event.count() != 0: form = event_form() return render(request, 'event_create.html', { 'form': form, 'fail': 'Evènement déjà créé' }) evt = Event() evt.title = form.cleaned_data['title'] evt.description = form.cleaned_data['description'] start_date = form.cleaned_data['start_date'] start_time = form.cleaned_data['start_time'] evt.start = datetime.strptime(start_date + ' ' + start_time, '%Y-%m-%d %H:%M') end_date = form.cleaned_data['end_date'] end_time = form.cleaned_data['end_time'] evt.end = datetime.strptime(end_date + ' ' + end_time, '%Y-%m-%d %H:%M') evt.place = form.cleaned_data['place'] evt.cover = form.cleaned_data['cover'] evt.orga = asso closing_date = form.cleaned_data['closing_date'] closing_time = form.cleaned_data['closing_time'] evt.closing = datetime.strptime(closing_date + ' ' + closing_time, '%Y-%m-%d %H:%M') evt.int_capacity = form.cleaned_data['int_capacity'] evt.ext_capacity = form.cleaned_data['ext_capacity'] evt.int_price = form.cleaned_data['int_price'] evt.ext_price = form.cleaned_data['ext_price'] evt.display = form.cleaned_data['display'] evt.status = EventStatus.WAITING._value_ evt.token = '' evt.creator = request.user evt.premium = False evt.save() evt.token = generate_token(evt.id) evt.save() notify(event) return redirect(reverse('core:event', args=[evt.id])) else: form = event_form() return render(request, 'event_create.html', {'form': form, 'asso': asso})
def login(request): username = request.data.get("username") if username: username = username.lower() password = request.data.get("password") disableLogEvent = request.data.get("disableLogEvent") user = authenticate(username=username, password=password) if not user: #maybe email try: user2Try = User.objects.get(email__iexact=username) user = authenticate(username=user2Try.username, password=password) except Exception as ex: user2Try = None user = None if not user2Try: return Response({ "success": False, "error": "login.failed" }, status=HTTP_401_UNAUTHORIZED) try: profile = Profile.objects.get(user=user) if not profile.mobileVerified: return Response({ "success": False, "error": 'mobile.notverified', 'activationKey': profile.activationKey }) wallet = Wallet.objects.get(profile=profile) profileSerializer = ProfileSerializer(profile, context={'request': request}) except Profile.DoesNotExist: return Response({ "success": False, "error": "login.failed" }, status=HTTP_401_UNAUTHORIZED) token, _ = Token.objects.get_or_create(user=user) if not disableLogEvent: Event().createEvent('LOGIN', 'USERACTIVITY', '', profile, request) return Response({ "success": True, "token": token.key, 'profile': profileSerializer.data, })
def create(request): data = json.loads(request.body.decode('utf-8')) if request.method == 'POST': booking = Event(author=data['author'], title=data['title'], description=data['msg'], start=data['start'], end=data['end'], hex_color=data['hex_color']) booking.save() details = Event.objects.filter(author=data['author'], active=True).values() return JsonResponse(list(details), safe=False)
def events(request): if request.user.is_anonymous(): return JsonResponse({'error': 'loggedOut'}) if request.method == 'POST': event_data = convert_dict_keys_deep(json.loads(request.body))['event'] if (not event_data['name'] or not event_data['date_from'] or not event_data['type'] or not event_data['color']): return JsonResponse({'error': 'badRequest'}) if (not event_data['id']): event = Event( name=event_data['name'], date_from=event_data['date_from'], date_to=event_data['date_to'], type=event_data['type'], color=event_data['color'], ) event.save() return JsonResponse({'event': serialize_event(event)}) events = [serialize_event(event) for event in Event.objects.order_by('date_from').all()] return JsonResponse({'events': events})
def setUp(cls): role = Role(role="subscriber") role.save() content = { "email": "*****@*****.**", "name": "user test", "password": "******", "contact": "9999911111", "address": "Bangalore", "role": "subscriber", "organization": "Eventhigh" } response = cls.client.post('/authentication/registration', json.dumps(content), content_type='application/json') cls.user_id = response.data['data']['user']['user_id'] cls.token = response.data['data']['access'] cls.user = User.objects.get(id=cls.user_id) event_type = EventType(type="test") event_type.save() cls.event = Event(name="test_event", type=event_type, description="New Event", date="2020-04-02", time="12:38:00", location="karnal", subscription_fee=500, no_of_tickets=250, images="https://www.google.com/images", sold_tickets=0, external_links="google.com", event_created_by_id=cls.user_id) cls.event.save()
def quickCreate(name, sport, distance, city, date): """ example : quickCreate(name="Triathlon de Montélimar", sport="Triathlon", distance="XS", city="Montélimar", date="25/06/2015") """ s = Sport try: s = Sport.objects.get(name=sport) except Sport.DoesNotExist: print("Sport {0} does not exist".format(sport)) dc = DistanceCategory try: dc = DistanceCategory.objects.get(name=distance) except DistanceCategory.DoesNotExist: print("Distance {0} does not exist".format(distance)) e = Event(name=name, edition=1) e.save() c = Contact(name="Pierre Dupont") c.save() l = Location(country=Location.objects.all()[0].country, city=city) l.save() r = Race( sport=s, event=e, date=datetime.strptime(date, "%d/%m/%Y"), distance_cat=dc, price=40, contact=c, location=l, ) r.save() return r
def post(self): form = RegisterForm() if form.validate_on_submit(): photo = upload_file(request.files['photo']) obj = Event(name=form.name.data, date=form.date.data, description=form.description.data, photo=photo) class_obj = get_class_by_id(form.class_id.data) if class_obj: print(class_obj.events) class_obj.events.append(obj) db.session.add_all([class_obj, obj]) db.session.commit() return {'success': True} else: return { 'success': False, "errors": { "class_id": ["Turma não existe"] } } else: return {'success': False, "errors": form.errors}
def create_unsaved(self, **overrides): kwargs = self.get_default_data() kwargs.update(**overrides) return Event(**kwargs)
def populate(): #Fashion House f1 = Fashion_House(fashion_name="Chanel", debrief_received=False) f2 = Fashion_House(fashion_name="Dior", debrief_received=True) f3 = Fashion_House(fashion_name="Lancel", debrief_received=False) f4 = Fashion_House(fashion_name="Gucci", debrief_received=False) f5 = Fashion_House(fashion_name="LVMH", debrief_received=True) f6 = Fashion_House(fashion_name="Louis Vuitton", debrief_received=True) f1.save() f2.save() f3.save() f4.save() f5.save() f6.save() # Event e1 = Event(title="Du style en croks", date_debut='2019-12-12T15:00:00Z', date_fin='2019-12-17T15:00:00Z', description= "Bienvenue a notre événement voici un sommaire des activites :", place="Paris", fashion_name=f1) e2 = Event(title="Hiver neige", date_debut='2020-11-12T15:00:00Z', date_fin='2020-11-17T15:00:00Z', description= "Bienvenue a notre événement voici un sommaire des activites :", place="Russie", fashion_name=f2) e1.save() e2.save() #One_to_One o1 = One_to_One(date='2019-12-12T15:00:00Z', salon=10, staff="Paul JP", title=e1) o2 = One_to_One(date='2019-12-12T15:00:00Z', salon=10, staff="Marie JP", title=e2) o3 = One_to_One(date='2019-12-12T15:00:00Z', salon=10, staff="Kevin JP", title=e1) o4 = One_to_One(date='2019-12-12T15:00:00Z', salon=10, staff="Pierre JP", title=e2) o1.save() o2.save() o3.save() o4.save() #Activity a1 = Activity(title="Restaut à la Giraffe ", date_act='2019-12-13T00:00:00Z', supplier_name="Chantal", adress="89 rue de rivoli", budget=100, real_price=150, cancelation_policy_deadline=48, cancelation_policy_fees=0.8, contact_name="Fabris", phone_number="0604157343", mail_adress="*****@*****.**", status="cf", typ_act="1") a2 = Activity(title="Tour Eiffel de nuit ", date_act='2019-12-15T00:00:00Z', supplier_name="Charly", adress="17 rue des étudiants", budget=200, real_price=0, cancelation_policy_deadline=72, cancelation_policy_fees=0.6, contact_name="Fabris", phone_number="0604157343", mail_adress="*****@*****.**", status="cnf", typ_act="2") a3 = Activity(title="Spa massage", date_act='2019-12-17T00:00:00Z', supplier_name="Joseph", adress="50 rue de rivoli", budget=1000, real_price=800, cancelation_policy_deadline=48, cancelation_policy_fees=0.5, contact_name="Fabris", phone_number="0604157343", mail_adress="*****@*****.**", status="f", typ_act="4") a1.save() a2.save() a3.save() #Concierge c1 = Concierge(login="******", mdp="0001", name="Jean", last_name="Concierge") c2 = Concierge(login="******", mdp="0002", name="Kevin", last_name="Concierge") c3 = Concierge(login="******", mdp="0003", name="Marie", last_name="Concierge") c1.save() c2.save() c3.save() c1.list_events.add(e1, e2) c2.list_events.add(e1) c3.list_events.add(e2) #Chauffeur t1 = Chauffeur(name="Karim", last_name="Uber", langue="Fr", lieu_depart="Paris Roissy", lieu_arrivee="Carlton", consigne="Ne pas perdre le client de vue", horaire_chauffeur='2019-12-12T15:00:00Z') t1.save() #Hotel h1 = Hotel(reservation_nb=5, date_debut='2019-12-12T15:00:00Z', date_fin='2019-12-12T15:00:00Z', room_type="Suite Deluxe", tarif=500, estimated_budget=550, paid_by_JP=2, paid_by_client=3, night_booked_jp=2, night_booked_client=3, welcome_pack_arrived=True) h1.save() #Planning p1 = Planning(nights_booked=5, digital_planning=True, language="EN", travel_fees=500) p2 = Planning(nights_booked=3, language="FR", travel_fees=500) p3 = Planning(nights_booked=2, digital_planning=True, language="EN", travel_fees=2000) p4 = Planning(nights_booked=4, digital_planning=True, language="EN", travel_fees=500) p2.save() p3.save() p4.save() p1.save() p1.list_activities.add(a1) p1.list_driver.add(t1) p1.list_hotel.add(h1) p2.list_activities.add(a2) p2.list_driver.add(t1) p2.list_hotel.add(h1) p3.list_activities.add(a3) p3.list_driver.add(t1) p3.list_hotel.add(h1) #Client cl1 = Client(name="Jacques", last_name="Dupont", zone="Asie", contact_principal="*****@*****.**", langue="En", budget_jour=500, budget_semaine=5000, plan=p1, date=o1, telephone="0664587985", date_arrival='2019-12-12T15:00:00Z', date_leave='2019-12-17T15:00:00Z', status='al') cl2 = Client(name="Hiba", last_name="Beldi", zone="Moyen-Orient", langue="Arabe", budget_jour=150, budget_semaine=1500, date=o2, plan=p2, telephone="0664152465", date_arrival='2019-12-13T15:00:00Z', date_leave='2019-12-16T15:00:00Z', status='mn') cl3 = Client(name="Jérémie", last_name="Bencini", zone="Arctique", langue="Anglais", budget_jour=3000, budget_semaine=30000, date=o3, plan=p3, telephone="0668358476", date_arrival='2019-12-11T15:00:00Z', date_leave='2019-12-19T15:00:00Z', status='mn') cl4 = Client(name="Diane", last_name="Du Peloux", zone="Afrique", langue="Français", budget_jour=300, budget_semaine=3000, date=o4, plan=p4, telephone="0542487945", date_arrival='2019-12-14T15:00:00Z', date_leave='2019-12-20T15:00:00Z', status='al') cl1.save() cl2.save() cl3.save() cl4.save() cl1.title.add(e1) cl2.title.add(e1) cl3.title.add(e2) cl4.title.add(e2) #Hospitality_packs hp1 = Hospitality_Pack(collection="Printemps 2020", horaires_dispo_concierge="Lundi-Dimance: 7h-23h", title=e1) hp1.save() hp1.list_services.add(a1)