def create_activity(request): result = Result() name = request.POST['name'] type_id = request.POST['type_id'] address = request.POST['address'] start_time = datetime.datetime.strptime(request.POST['start_time'], Consts.DATETIME_FORMAT) end_time = datetime.datetime.strptime(request.POST['end_time'], Consts.DATETIME_FORMAT) if start_time >= end_time: result.code = Consts.FAILED_CODE result.msg = Consts.START_END_TIME_ERROR_MSG return HttpResponse(json.dumps(result.to_dict()), content_type="application/json") if not check_activity_type_exist(type_id): result.code = Consts.FAILED_CODE result.msg = Consts.NOT_FOUND_ACTIVITY_TYPE_MSG return HttpResponse(json.dumps(result.to_dict()), content_type="application/json") try: admin.create_activity(name, type_id, start_time, end_time, address, request.user.username) result.code = Consts.SUCCESS_CODE except: result.code = Consts.FAILED_CODE result.msg = Consts.UNKNOWN_ERROR return HttpResponse(json.dumps(result.to_dict()), content_type="application/json")
def test_register_individual_activity(self): self.assertEqual(len(ActivityRegister.objects.all()), 0) at = ActivityType.objects.get(name="global activity") s_t = datetime.strptime("2018/01/12 08:00", DATETIME_FORMAT) e_t = datetime.strptime("2018/01/12 09:00", DATETIME_FORMAT) create_activity("activity1", at.id, s_t, e_t, "dongfang Rd.", "admin") activity = Activity.objects.get(name="activity1") register_activity(activity.id, "123456", "admin") self.assertEqual(len(ActivityRegister.objects.all()), 1)
def test_create_activity(self): at = ActivityType.objects.get(name="activity type 1") s_t = datetime.strptime("2018/01/12 08:00", DATETIME_FORMAT) e_t = datetime.strptime("2018/01/12 09:00", DATETIME_FORMAT) create_activity("activity1", at.id, s_t, e_t, "dongfang Rd.", "admin") self.assertEqual(len(Activity.objects.all()), 1) activity = Activity.objects.get(name="activity1") self.assertEqual(activity.start_time, s_t) self.assertEqual(activity.end_time, e_t) self.assertEqual(activity.address, "dongfang Rd.") self.assertEqual(activity.creator.username, "admin") self.assertEqual(activity.get_status(), Activity.END)
def test_update_activity(self): at = ActivityType.objects.get(name="activity type 1") s_t = datetime.strptime("2018/01/12 08:00", DATETIME_FORMAT) e_t = datetime.strptime("2018/01/12 09:00", DATETIME_FORMAT) create_activity("activity1", at.id, s_t, e_t, "dongfang Rd.", "admin") self.assertEqual(len(Activity.objects.all()), 1) activity = Activity.objects.get(name="activity1") ac_id = activity.id s_t = datetime.now() + timedelta(hours=1) e_t = datetime.now() + timedelta(hours=2) at = ActivityType.objects.get(name="activity type 2") update_activity(ac_id, "updated activity", at.id, s_t, e_t, "dongfang Rd. 1217") activity = Activity.objects.get(id=ac_id) self.assertEqual(activity.name, "updated activity") self.assertEqual(activity.type.name, "activity type 2") self.assertEqual(activity.start_time, s_t) self.assertEqual(activity.end_time, e_t) self.assertEqual(activity.address, "dongfang Rd. 1217") self.assertEqual(activity.get_status(), Activity.NOT_START)
def test_get_privileged_activities(self): at = ActivityType.objects.get(name="global activity") s_t = datetime.strptime("2018/01/12 08:00", DATETIME_FORMAT) e_t = datetime.strptime("2018/01/12 09:00", DATETIME_FORMAT) create_activity("activity1", at.id, s_t, e_t, "dongfang Rd.", "admin") create_activity_type("superuser's private activity type", 100, True, "admin", None) at = ActivityType.objects.get(name="superuser's private activity type") create_activity("private activity", at.id, s_t, e_t, "dongfang Rd.", "admin") group = Group.objects.get(name="group2") create_activity_type("group2's activity type", 100, False, "admin", group.id) at = ActivityType.objects.get(name="group2's activity type") create_activity("group2's activity", at.id, s_t, e_t, "dongfang Rd.", "admin") create_user(username="******", name="admin3", password="******", email="*****@*****.**", phone="456") user1 = User.objects.get(username='******') user2 = User.objects.get(username='******') user3 = User.objects.get(username='******') self.assertEqual(len(get_privileged_activities(user1)), 3) self.assertEqual(len(get_privileged_activities(user2)), 2) self.assertEqual(len(get_privileged_activities(user3)), 1)
def test_update_activity_register(self): at = ActivityType.objects.get(name="global activity") s_t = datetime.strptime("2018/01/12 08:00", DATETIME_FORMAT) e_t = datetime.strptime("2018/01/12 09:00", DATETIME_FORMAT) create_activity("activity1", at.id, s_t, e_t, "dongfang Rd.", "admin") activity = Activity.objects.get(name="activity1") register_activity(activity.id, "123456", "admin") ra = ActivityRegister.objects.get(activity__id=activity.id, volunteer__openid="123456") self.assertEqual(get_volunteer_score("123456"), 0) self.assertEqual(ra.status, ActivityRegister.REGISTERED) update_activity_register_status(ra.id, ActivityRegister.SIGNED_UP) ra = ActivityRegister.objects.get(activity__id=activity.id, volunteer__openid="123456") self.assertEqual(ra.status, ActivityRegister.SIGNED_UP) self.assertEqual(get_volunteer_score("123456"), 100) update_activity_register_status(ra.id, ActivityRegister.ABSENT) ra = ActivityRegister.objects.get(activity__id=activity.id, volunteer__openid="123456") self.assertEqual(ra.status, ActivityRegister.ABSENT) self.assertEqual(get_volunteer_score("123456"), 0)