def test__when_slug_name_duplicate__should_raise_error(self): slug = Job(slug='peace-maker-c57fe949') slug1 = Job(slug='peace-maker-c57fe949') with self.assertRaises(IntegrityError): slug.save() slug1.save()
def test_get_job_by_id(self): e1 = Event(name = "Software Conference", start_date = "2012-10-22", end_date = "2012-10-25") e1.save() j1 = Job(name = "Software Developer", start_date = "2012-10-22", end_date = "2012-10-23", description = "A software job", event = e1) j2 = Job(name = "Systems Administrator", start_date = "2012-9-1", end_date = "2012-10-26", description = "A systems administrator job", event = e1) j3 = Job(name = "Project Manager", start_date = "2012-1-2", end_date = "2012-2-2", description = "A management job", event = e1) j1.save() j2.save() j3.save() #test typical cases self.assertIsNotNone(get_job_by_id(j1.id)) self.assertIsNotNone(get_job_by_id(j2.id)) self.assertIsNotNone(get_job_by_id(j3.id)) self.assertEqual(get_job_by_id(j1.id), j1) self.assertEqual(get_job_by_id(j2.id), j2) self.assertEqual(get_job_by_id(j3.id), j3) #test non-existant cases self.assertIsNone(get_job_by_id(100)) self.assertIsNone(get_job_by_id(200)) self.assertIsNone(get_job_by_id(300)) self.assertIsNone(get_job_by_id(400)) self.assertNotEqual(get_job_by_id(100), j1) self.assertNotEqual(get_job_by_id(100), j2) self.assertNotEqual(get_job_by_id(100), j3) self.assertNotEqual(get_job_by_id(200), j1) self.assertNotEqual(get_job_by_id(200), j2) self.assertNotEqual(get_job_by_id(200), j3) self.assertNotEqual(get_job_by_id(300), j1) self.assertNotEqual(get_job_by_id(300), j2) self.assertNotEqual(get_job_by_id(300), j3)
def test_when_title_is_more_than_max_length_should_raise_error(self): job = Job( title= 'Lorem Ipsum is simply dummy text of the printing and typesetting industry. ' 'Lorem Ipsum has been the industrys standard dummy text ever since the 1500s, ' 'when an unknown printer took a galley of type and scrambled it to make a type ' 'specimen book. It has survived not only five centuries, but also the leap into ' 'electronic typesetting, remaining essentially unchanged. It was popularised in ' 'the 1960s with the release of Letraset sheets containing Lorem Ipsum passages, ' 'and more recently with desktop publishing software like Aldus PageMaker ' 'including versions of Lorem Ipsum.', experience=1, salary_min=5000.00, salary_max=10000.00, qualification=self.qualification, job_gender=self.job_gender, application_deadline='', description='Test job', responsibilities='Web developer', education='Computer Science', other_benefits='Apple Watch', company=self.company, latitude=3.00, longitude=4.00, ) with self.assertRaises(ValidationError): job.full_clean(exclude=exclude)
def create_jobs(): profiles_ids = [ p.id for p in Profile.search(None, params=validate_profile_search_params( {'profile_type': 'company'})) ] for job in JOBS: owner_id = profiles_ids[randrange(len(profiles_ids) - 1)] update_object(Job(owner_id=owner_id), job)
def create(self, validated_data): user = self._get_request().user if hasattr(user, 'profile'): profile = user.profile else: profile = Profile(user=user) profile.save() instance = Job(owner=profile) instance_updated = update_object(instance, validated_data) return instance_updated
def test_get_jobs_ordered_by_title(self): e1 = Event(name = "Software Conference", start_date = "2012-10-22", end_date = "2012-10-25") e1.save() j1 = Job(name = "Software Developer", start_date = "2012-10-22", end_date = "2012-10-23", description = "A software job", event = e1) j2 = Job(name = "Systems Administrator", start_date = "2012-9-1", end_date = "2012-10-26", description = "A systems administrator job", event = e1) j3 = Job(name = "Project Manager", start_date = "2012-1-2", end_date = "2012-2-2", description = "A management job", event = e1) j1.save() j2.save() j3.save() #test typical case job_list = get_jobs_ordered_by_title() self.assertIsNotNone(job_list) self.assertNotEqual(job_list, False) self.assertEqual(len(job_list), 3) self.assertIn(j1, job_list) self.assertIn(j2, job_list) self.assertIn(j3, job_list) #test order self.assertEqual(job_list[0].name, j3.name) self.assertEqual(job_list[1].name, j1.name) self.assertEqual(job_list[2].name, j2.name)
def postjob(request): if request.method == 'POST': obj2 = Job(jtitle=request.POST['jtitle'], jcname=request.POST['jcompany'], jobtype=request.POST['job-type'], jstate=request.POST['jstate'], jdistrict=request.POST['jdistrict'], jdesc=request.POST['jdesc']) obj2.save() return render(request, 'adminpanel/postjob.html')
def create_job_with_details(job): """ Creates and returns job with passed name and dates """ j1 = Job(name=job[0], start_date=job[1], end_date=job[2], description=job[3], event=job[4]) j1.save() return j1
def create_job_with_details(job): """ Creates and returns job with passed name and dates """ j1 = Job(name=job['name'], start_date=job['start_date'], end_date=job['end_date'], description=job['description'], event=job['event']) j1.save() return j1
def get_shifts_ordered_by_date(self): e1 = Event(name="Open Source Event", start_date="2012-10-22", end_date="2012-10-23") e1.save() j1 = Job(name="Software Developer", start_date="2012-10-22", end_date="2012-10-23", description="A software job", event=e1) j1.save() s1 = Shift(date="2012-1-10", start_time="9:00", end_time="3:00", max_volunteers=1, job=j1) s2 = Shift(date="2012-6-25", start_time="10:00", end_time="4:00", max_volunteers=2, job=j1) s3 = Shift(date="2012-12-9", start_time="12:00", end_time="6:00", max_volunteers=4, job=j1) s1.save() s2.save() s3.save() #test typical case shift_list = get_shifts_ordered_by_date(j1.id) self.assertIsNotNone(shift_list) self.assertNotEqual(shift_list, False) self.assertEqual(len(shift_list), 3) self.assertIn(s1, shift_list) self.assertIn(s2, shift_list) self.assertIn(s3, shift_list) #test order self.assertEqual(shift_list[0].date, s1.date) self.assertEqual(shift_list[1].date, s2.date) self.assertEqual(shift_list[2].date, s3.date)
def post(self, request, *args, **kwargs): job_data = json.loads(request.body) if 'company_id' in job_data or 'company' in job_data: raise serializers.ValidationError('Unexpected Company/Company Id.') if 'title' not in job_data or not job_data['title']: raise serializers.ValidationError('Title is required.') if 'vacancy' not in job_data or not job_data['vacancy']: raise serializers.ValidationError('Vacancy is required.') if 'address' not in job_data or not job_data['address']: raise serializers.ValidationError('Address is required.') if 'job_site' not in job_data or not job_data['job_site']: raise serializers.ValidationError('Job site is required.') if 'job_nature' not in job_data or not job_data['job_nature']: raise serializers.ValidationError('Job nature is required.') if 'job_type' not in job_data or not job_data['job_type']: raise serializers.ValidationError('Job type is required.') if 'status' in job_data: if job_data['status'] != 'DRAFT' and job_data[ 'status'] != 'POSTED' and job_data['status'] != '': raise serializers.ValidationError('Invalid status.') if 'salary_min' in job_data and job_data[ 'salary_min'] and 'salary_max' in job_data and job_data[ 'salary_max']: if int(job_data['salary_min']) > int(job_data['salary_max']): raise serializers.ValidationError( 'Minimum salary cannot be greater than maximum salary') company = Company.objects.get(user_id=request.user.id) job_data['company'] = company try: skills = job_data['skills'] del job_data['skills'] except KeyError: skills = None job_obj = Job(**job_data) populate_user_info(request, job_obj, False, False) job_obj.save() if skills: skill_list = skills.split(',') for skill in skill_list: try: skill_obj = Skill.objects.get(name=skill) except Skill.DoesNotExist: skill_obj = None if skill_obj: job_obj.job_skills.add(skill_obj) return Response(HTTP_200_OK)
def test_when_title_is_null_should_raise_error(self): job = Job( experience=1, salary_min=5000.00, salary_max=10000.00, qualification=self.qualification, job_gender=self.job_gender, application_deadline='', description='Test job', responsibilities='Web developer', education='Computer Science', other_benefits='Apple Watch', company=self.company, latitude=3.00, longitude=4.00, ) with self.assertRaises(ValidationError): job.full_clean(exclude=exclude)
def create_job_with_quote(quote): job = Job(customer_first_name=quote.customer_first_name, customer_last_name=quote.customer_last_name, address=quote.address, customer_email=quote.customer_email, customer_phone_num=quote.customer_phone_num, materials=quote.materials, job_description=quote.job_description, date_of_job=quote.date_of_job, removal_included=quote.removal_included, price_of_removal=quote.price_of_removal, price_of_materials=quote.price_of_materials, price_of_labour=quote.price_of_labour, job_price=quote.quote_price, issued_by=quote.issued_by, sent_invoice=False, associated_quote=quote._id) return job
def post(self, request, *args, **kwargs): job_name = request.POST.get('job_name') job_desc = request.POST.get('job_desc') job_type = request.POST.get('job_type') job_content = request.POST.get('job_content') extra_vars = request.POST.get('extra_vars') if job_type == 'python': job_name = job_name + ".py" elif job_type == "shell": job_name = job_name + ".sh" elif job_type == "playbook": job_name = job_name job = Job(job_name=job_name, job_desc=job_desc, job_type=job_type, job_content=job_content, extra_vars=extra_vars) job.save() return JsonResponse({'message': 'add job {} success'.format(job_name)})
def add_job(job_db_id, user): job_db_obj = get_job_db_by_id(job_db_id) try: new_job_seen = Job( company=job_db_obj.company, location=job_db_obj.location, position=job_db_obj.position, description=job_db_obj.description, html_description=job_db_obj.html_description, link=job_db_obj.link, user=user ) print("error 1") new_job_seen.save() print("error 2") return new_job_seen except Exception as e: print("Error during creating Job object, error is: ", e) return None
def save(self, data, element_object=None): if element_object == None: job = Job() uid = self.generateUID() job.uid = uid else: job = element_object uid_env = self.parseData(data, "environnement") environnement = self.getEnv(uid_env) if not environnement == None: job.name = self.parseData(data, "name") job.command = self.parseData(data, "command") job.type = self.parseData(data, "type") job.schedule = self.parseData(data, "schedule") job.restart_policy = self.parseData(data, "restart_policy") job.back_off_limit = self.parseData(data, "back_off_limit") job.container_image = self.parseData(data, "container_image") job.environnement = environnement #job.config = self.parseData(data, "config") job.save() uid_container = self.parseData(data, "container") container_item = self.getContainer(uid_container) if not container_item == None: job.container.add(container_item) return { "status": "success", "message": "Saved", "element": "job", "uid": job.uid } else: return { "status": "error", "message": "Environnement Not exist", "element": "job" }
def test_when_everything_is_given_should_pass(self): job = Job( title='Software Engineer', experience=1, salary_min=5000.00, salary_max=10000.00, qualification=self.qualification, job_gender=self.job_gender, application_deadline='', description='Test job', responsibilities='Web developer', education='Computer Science', other_benefits='Apple Watch', company=self.company, latitude=3.00, longitude=4.00, ) try: job.full_clean(exclude=exclude) except: self.fail()
def JobAdd(request): data = {"added": False, "message": "", "job": None} if request.method == "POST": input_data = request.POST.copy() print(input_data) if "id" in request.GET: if request.GET["id"] != "": pass else: # Add job = Job.objects.filter(title=input_data["title"]) if job: data["message"] = "The job already exists" else: input_data["experience_year"] = int( input_data["experience_year"]) input_data["salary"] = int(input_data["salary"]) print(input_data) job = Job(title=input_data["title"], description=input_data["description"], category=input_data["category"], location=input_data["location"], qualification=input_data["qualification"], experience_year=input_data["experience_year"], salary=input_data["salary"], job_type=input_data["job_type"], deadline=input_data["deadline"], skills=input_data["skills"]) job.save() data["added"] = True pass if "id" in request.GET: try: data["job"] = Job.objects.get(id=request.GET["id"]) except: pass return render(request, "job-add.html", data)
def setUp(self): company = Company(name='Ishraak Solutions', web_address='www.ishraak.com') company.save() self.company = company job_gender = JobGender(name='Male') job_gender.save() self.job_gender = job_gender experience = Experience(name='Part Time') experience.save() self.experience = experience qualification = Qualification(name='Graduate') qualification.save() self.qualification = qualification job = Job( title='Software Engineer', experience=1, salary_min=5000.00, salary_max=10000.00, qualification=self.qualification, job_gender=self.job_gender, application_deadline='2020-03-29', description='Test job', responsibilities='Web developer', education='Computer Science', other_benefits='Apple Watch', company=self.company, latitude=3.00, longitude=4.00, ) job.save() self.jb = job user = User(username='******', password='******') user.save() self.usr = user
def test_get_unlogged_shifts_by_volunteer_id(self): u1 = User.objects.create_user('Yoshi') v1 = Volunteer(first_name="Yoshi", last_name="Turtle", address="Mario Land", city="Nintendo Land", state="Nintendo State", country="Nintendo Nation", phone_number="2374983247", email="*****@*****.**", user=u1) v1.save() e1 = Event(name="Open Source Event", start_date="2012-10-22", end_date="2012-10-23") e1.save() j1 = Job(name="Software Developer", start_date="2012-10-22", end_date="2012-10-23", description="A software job", event=e1) j2 = Job(name="Systems Administrator", start_date="2012-9-1", end_date="2012-10-26", description="A systems administrator job", event=e1) j1.save() j2.save() s1 = Shift(date="2012-10-23", start_time="9:00", end_time="3:00", max_volunteers=1, job=j1) s2 = Shift(date="2012-10-23", start_time="10:00", end_time="4:00", max_volunteers=2, job=j1) s3 = Shift(date="2012-10-23", start_time="12:00", end_time="6:00", max_volunteers=4, job=j2) s1.save() s2.save() s3.save() #sign up register(v1.id, s1.id) register(v1.id, s2.id) register(v1.id, s3.id) #test typical case shift_list = get_unlogged_shifts_by_volunteer_id(v1.id) self.assertIsNotNone(shift_list) self.assertNotEqual(shift_list, False) self.assertEqual(len(shift_list), 3) self.assertIn(s1, shift_list) self.assertIn(s2, shift_list) self.assertIn(s3, shift_list)
def create(self, validated_data): validated_data['job_slug'] = slug_helper(validated_data['name']) job = Job(**validated_data) job.save() return job
def write_db(fields, entry): j = Job() for key in fields: if entry[key] is not None and entry[key] != "": j.__setattr__(key, entry[key]) j.save()
def test_clear_shift_hours(self): u1 = User.objects.create_user('Yoshi') v1 = Volunteer(first_name="Yoshi", last_name="Turtle", address="Mario Land", city="Nintendo Land", state="Nintendo State", country="Nintendo Nation", phone_number="2374983247", email="*****@*****.**", user=u1) v1.save() e1 = Event(name="Open Source Event", start_date="2012-10-22", end_date="2012-10-23") e1.save() j1 = Job(name="Software Developer", start_date="2012-10-22", end_date="2012-10-23", description="A software job", event=e1) j2 = Job(name="Systems Administrator", start_date="2012-9-1", end_date="2012-10-26", description="A systems administrator job", event=e1) j1.save() j2.save() s1 = Shift(date="2012-10-23", start_time="9:00", end_time="3:00", max_volunteers=1, job=j1) s2 = Shift(date="2012-10-23", start_time="10:00", end_time="4:00", max_volunteers=2, job=j1) s3 = Shift(date="2012-10-23", start_time="12:00", end_time="6:00", max_volunteers=4, job=j2) s1.save() s2.save() s3.save() register(v1.id, s1.id) self.assertIsNotNone( VolunteerShift.objects.get(volunteer_id=v1.id, shift_id=s1.id)) register(v1.id, s2.id) self.assertIsNotNone( VolunteerShift.objects.get(volunteer_id=v1.id, shift_id=s2.id)) register(v1.id, s3.id) self.assertIsNotNone( VolunteerShift.objects.get(volunteer_id=v1.id, shift_id=s3.id)) start_time = datetime.time(hour=9, minute=0) end_time = datetime.time(hour=10, minute=0) add_shift_hours(v1.id, s1.id, start_time, end_time) start_time = datetime.time(hour=10, minute=0) end_time = datetime.time(hour=12, minute=0) add_shift_hours(v1.id, s2.id, start_time, end_time) start_time = datetime.time(hour=5, minute=0) end_time = datetime.time(hour=6, minute=0) add_shift_hours(v1.id, s3.id, start_time, end_time) clear_shift_hours(v1.id, s1.id) volunteer_shift = VolunteerShift.objects.get(volunteer_id=v1.id, shift_id=s1.id) self.assertIsNone(volunteer_shift.start_time) self.assertIsNone(volunteer_shift.end_time) clear_shift_hours(v1.id, s2.id) volunteer_shift = VolunteerShift.objects.get(volunteer_id=v1.id, shift_id=s2.id) self.assertIsNone(volunteer_shift.start_time) self.assertIsNone(volunteer_shift.end_time) clear_shift_hours(v1.id, s3.id) volunteer_shift = VolunteerShift.objects.get(volunteer_id=v1.id, shift_id=s3.id) self.assertIsNone(volunteer_shift.start_time) self.assertIsNone(volunteer_shift.end_time)
def test_cancel_shift_registration(self): u1 = User.objects.create_user('Yoshi') u2 = User.objects.create_user('John') v1 = Volunteer(first_name="Yoshi", last_name="Turtle", address="Mario Land", city="Nintendo Land", state="Nintendo State", country="Nintendo Nation", phone_number="2374983247", email="*****@*****.**", user=u1) v2 = Volunteer(first_name="John", last_name="Doe", address="7 Alpine Street", city="Maplegrove", state="Wyoming", country="USA", phone_number="23454545", email="*****@*****.**", user=u2) v1.save() v2.save() e1 = Event(name="Open Source Event", start_date="2012-10-22", end_date="2012-10-23") e1.save() j1 = Job(name="Software Developer", start_date="2012-10-22", end_date="2012-10-23", description="A software job", event=e1) j2 = Job(name="Systems Administrator", start_date="2012-9-1", end_date="2012-10-26", description="A systems administrator job", event=e1) j1.save() j2.save() s1 = Shift(date="2012-10-23", start_time="9:00", end_time="3:00", max_volunteers=1, job=j1) s2 = Shift(date="2012-10-23", start_time="10:00", end_time="4:00", max_volunteers=2, job=j1) s3 = Shift(date="2012-10-23", start_time="12:00", end_time="6:00", max_volunteers=4, job=j2) s1.save() s2.save() s3.save() #test cases when try to cancel when they aren't signed up for a shift with self.assertRaises(ObjectDoesNotExist): cancel_shift_registration(v1.id, s1.id) with self.assertRaises(ObjectDoesNotExist): cancel_shift_registration(v1.id, s1.id) with self.assertRaises(ObjectDoesNotExist): cancel_shift_registration(v1.id, s2.id) with self.assertRaises(ObjectDoesNotExist): cancel_shift_registration(v1.id, s3.id) with self.assertRaises(ObjectDoesNotExist): cancel_shift_registration(v2.id, s1.id) with self.assertRaises(ObjectDoesNotExist): cancel_shift_registration(v2.id, s2.id) with self.assertRaises(ObjectDoesNotExist): cancel_shift_registration(v2.id, s3.id) #register volunteers to shifts register(v1.id, s1.id) register(v1.id, s2.id) register(v1.id, s3.id) register(v2.id, s1.id) register(v2.id, s2.id) register(v2.id, s3.id) #test typical cases cancel_shift_registration(v1.id, s1.id) cancel_shift_registration(v1.id, s2.id) cancel_shift_registration(v1.id, s3.id) #cancel_shift_registration(v2.id, s1.id) #why is this throwing ObjectDoesNotExist? cancel_shift_registration(v2.id, s2.id) cancel_shift_registration(v2.id, s3.id)
def test_edit_shift_hours(self): u1 = User.objects.create_user('Yoshi') v1 = Volunteer(first_name="Yoshi", last_name="Turtle", address="Mario Land", city="Nintendo Land", state="Nintendo State", country="Nintendo Nation", phone_number="2374983247", email="*****@*****.**", user=u1) v1.save() e1 = Event(name="Open Source Event", start_date="2012-10-22", end_date="2012-10-23") e1.save() j1 = Job(name="Software Developer", start_date="2012-10-22", end_date="2012-10-23", description="A software job", event=e1) j1.save() s1 = Shift(date="2012-10-23", start_time="1:00", end_time="12:00", max_volunteers=1, job=j1) s1.save() register(v1.id, s1.id) self.assertIsNotNone( VolunteerShift.objects.get(volunteer_id=v1.id, shift_id=s1.id)) start_time = datetime.time(hour=9, minute=0) end_time = datetime.time(hour=10, minute=0) add_shift_hours(v1.id, s1.id, start_time, end_time) start_time = datetime.time(hour=10, minute=0) end_time = datetime.time(hour=11, minute=0) edit_shift_hours(v1.id, s1.id, start_time, end_time) volunteer_shift = VolunteerShift.objects.get(volunteer_id=v1.id, shift_id=s1.id) self.assertIsNotNone(volunteer_shift.start_time) self.assertIsNotNone(volunteer_shift.end_time) self.assertEqual(volunteer_shift.start_time, start_time) self.assertEqual(volunteer_shift.end_time, end_time) start_time = datetime.time(hour=1, minute=0) end_time = datetime.time(hour=4, minute=0) edit_shift_hours(v1.id, s1.id, start_time, end_time) volunteer_shift = VolunteerShift.objects.get(volunteer_id=v1.id, shift_id=s1.id) self.assertIsNotNone(volunteer_shift.start_time) self.assertIsNotNone(volunteer_shift.end_time) self.assertEqual(volunteer_shift.start_time, start_time) self.assertEqual(volunteer_shift.end_time, end_time) start_time = datetime.time(hour=4, minute=15) end_time = datetime.time(hour=12, minute=35) edit_shift_hours(v1.id, s1.id, start_time, end_time) volunteer_shift = VolunteerShift.objects.get(volunteer_id=v1.id, shift_id=s1.id) self.assertIsNotNone(volunteer_shift.start_time) self.assertIsNotNone(volunteer_shift.end_time) self.assertEqual(volunteer_shift.start_time, start_time) self.assertEqual(volunteer_shift.end_time, end_time) start_time = datetime.time(hour=2, minute=5) end_time = datetime.time(hour=4, minute=15) edit_shift_hours(v1.id, s1.id, start_time, end_time) volunteer_shift = VolunteerShift.objects.get(volunteer_id=v1.id, shift_id=s1.id) self.assertIsNotNone(volunteer_shift.start_time) self.assertIsNotNone(volunteer_shift.end_time) self.assertEqual(volunteer_shift.start_time, start_time) self.assertEqual(volunteer_shift.end_time, end_time) start_time = datetime.time(hour=5, minute=0) end_time = datetime.time(hour=5, minute=30) edit_shift_hours(v1.id, s1.id, start_time, end_time) volunteer_shift = VolunteerShift.objects.get(volunteer_id=v1.id, shift_id=s1.id) self.assertIsNotNone(volunteer_shift.start_time) self.assertIsNotNone(volunteer_shift.end_time) self.assertEqual(volunteer_shift.start_time, start_time) self.assertEqual(volunteer_shift.end_time, end_time)
def test_get_shift_by_id(self): e1 = Event(name="Open Source Event", start_date="2012-10-22", end_date="2012-10-23") e1.save() j1 = Job(name="Software Developer", start_date="2012-10-22", end_date="2012-10-23", description="A software job", event=e1) j1.save() s1 = Shift(date="2012-10-23", start_time="9:00", end_time="3:00", max_volunteers=1, job=j1) s2 = Shift(date="2012-10-23", start_time="10:00", end_time="4:00", max_volunteers=2, job=j1) s3 = Shift(date="2012-10-23", start_time="12:00", end_time="6:00", max_volunteers=4, job=j1) s1.save() s2.save() s3.save() #test typical cases self.assertIsNotNone(get_shift_by_id(s1.id)) self.assertIsNotNone(get_shift_by_id(s2.id)) self.assertIsNotNone(get_shift_by_id(s3.id)) self.assertEqual(get_shift_by_id(s1.id), s1) self.assertEqual(get_shift_by_id(s2.id), s2) self.assertEqual(get_shift_by_id(s3.id), s3) #test non-existant cases self.assertIsNone(get_shift_by_id(100)) self.assertIsNone(get_shift_by_id(200)) self.assertIsNone(get_shift_by_id(300)) self.assertIsNone(get_shift_by_id(400)) self.assertNotEqual(get_shift_by_id(100), s1) self.assertNotEqual(get_shift_by_id(100), s2) self.assertNotEqual(get_shift_by_id(100), s3) self.assertNotEqual(get_shift_by_id(200), s1) self.assertNotEqual(get_shift_by_id(200), s2) self.assertNotEqual(get_shift_by_id(200), s3) self.assertNotEqual(get_shift_by_id(300), s1) self.assertNotEqual(get_shift_by_id(300), s2) self.assertNotEqual(get_shift_by_id(300), s3)
def test_get_volunteer_shift_by_id(self): u1 = User.objects.create_user('Yoshi') u2 = User.objects.create_user('John') v1 = Volunteer(first_name="Yoshi", last_name="Turtle", address="Mario Land", city="Nintendo Land", state="Nintendo State", country="Nintendo Nation", phone_number="2374983247", email="*****@*****.**", user=u1) v2 = Volunteer(first_name="John", last_name="Doe", address="7 Alpine Street", city="Maplegrove", state="Wyoming", country="USA", phone_number="23454545", email="*****@*****.**", user=u2) v1.save() v2.save() e1 = Event(name="Open Source Event", start_date="2012-10-22", end_date="2012-10-23") e1.save() j1 = Job(name="Software Developer", start_date="2012-10-22", end_date="2012-10-23", description="A software job", event=e1) j2 = Job(name="Systems Administrator", start_date="2012-9-1", end_date="2012-10-26", description="A systems administrator job", event=e1) j1.save() j2.save() s1 = Shift(date="2012-10-23", start_time="9:00", end_time="3:00", max_volunteers=1, job=j1) s2 = Shift(date="2012-10-23", start_time="10:00", end_time="4:00", max_volunteers=2, job=j1) s3 = Shift(date="2012-10-23", start_time="12:00", end_time="6:00", max_volunteers=4, job=j2) s1.save() s2.save() s3.save() #test cases where signed up register(v1.id, s1.id) register(v1.id, s2.id) register(v1.id, s3.id) register(v2.id, s1.id) register(v2.id, s2.id) register(v2.id, s3.id) self.assertEqual( get_volunteer_shift_by_id(v1.id, s1.id), VolunteerShift.objects.get(volunteer_id=v1.id, shift_id=s1.id)) self.assertEqual( get_volunteer_shift_by_id(v1.id, s2.id), VolunteerShift.objects.get(volunteer_id=v1.id, shift_id=s2.id)) self.assertEqual( get_volunteer_shift_by_id(v1.id, s3.id), VolunteerShift.objects.get(volunteer_id=v1.id, shift_id=s3.id)) #self.assertEqual(get_volunteer_shift_by_id(v2.id, s1.id), VolunteerShift.objects.get(volunteer_id=v2.id, shift_id=s1.id)) #why does this throw DoesNotExist? self.assertEqual( get_volunteer_shift_by_id(v2.id, s2.id), VolunteerShift.objects.get(volunteer_id=v2.id, shift_id=s2.id)) self.assertEqual( get_volunteer_shift_by_id(v2.id, s3.id), VolunteerShift.objects.get(volunteer_id=v2.id, shift_id=s3.id))
def test_is_signed_up(self): u1 = User.objects.create_user('Yoshi') u2 = User.objects.create_user('John') v1 = Volunteer(first_name="Yoshi", last_name="Turtle", address="Mario Land", city="Nintendo Land", state="Nintendo State", country="Nintendo Nation", phone_number="2374983247", email="*****@*****.**", user=u1) v2 = Volunteer(first_name="John", last_name="Doe", address="7 Alpine Street", city="Maplegrove", state="Wyoming", country="USA", phone_number="23454545", email="*****@*****.**", user=u2) v1.save() v2.save() e1 = Event(name="Open Source Event", start_date="2012-10-22", end_date="2012-10-23") e1.save() j1 = Job(name="Software Developer", start_date="2012-10-22", end_date="2012-10-23", description="A software job", event=e1) j2 = Job(name="Systems Administrator", start_date="2012-9-1", end_date="2012-10-26", description="A systems administrator job", event=e1) j1.save() j2.save() s1 = Shift(date="2012-10-23", start_time="9:00", end_time="3:00", max_volunteers=1, job=j1) s2 = Shift(date="2012-10-23", start_time="10:00", end_time="4:00", max_volunteers=2, job=j1) s3 = Shift(date="2012-10-23", start_time="12:00", end_time="6:00", max_volunteers=4, job=j2) s1.save() s2.save() s3.save() #test cases where not signed up yet self.assertFalse(is_signed_up(v1.id, s1.id)) self.assertFalse(is_signed_up(v1.id, s2.id)) self.assertFalse(is_signed_up(v1.id, s3.id)) #test cases where signed up register(v1.id, s1.id) register(v1.id, s2.id) register(v1.id, s3.id) self.assertTrue(is_signed_up(v1.id, s1.id)) self.assertTrue(is_signed_up(v1.id, s2.id)) self.assertTrue(is_signed_up(v1.id, s3.id)) #test case where more than one volunteer signs up for the same shift self.assertFalse(is_signed_up(v2.id, s1.id)) self.assertFalse(is_signed_up(v2.id, s2.id)) self.assertFalse(is_signed_up(v2.id, s3.id)) register(v2.id, s2.id) register(v2.id, s3.id) self.assertFalse(is_signed_up(v2.id, s1.id)) self.assertTrue(is_signed_up(v2.id, s2.id)) self.assertTrue(is_signed_up(v2.id, s3.id))
def test_register(self): RESULT_IS_VALID = "IS_VALID" ERROR_CODE_ALREADY_SIGNED_UP = "ERROR_CODE_ALREADY_SIGNED_UP" ERROR_CODE_NO_SLOTS_REMAINING = "ERROR_CODE_NO_SLOTS_REMAINING" u1 = User.objects.create_user('Yoshi') u2 = User.objects.create_user('John') v1 = Volunteer(first_name="Yoshi", last_name="Turtle", address="Mario Land", city="Nintendo Land", state="Nintendo State", country="Nintendo Nation", phone_number="2374983247", email="*****@*****.**", user=u1) v2 = Volunteer(first_name="John", last_name="Doe", address="7 Alpine Street", city="Maplegrove", state="Wyoming", country="USA", phone_number="23454545", email="*****@*****.**", user=u2) v1.save() v2.save() e1 = Event(name="Open Source Event", start_date="2012-10-22", end_date="2012-10-23") e1.save() j1 = Job(name="Software Developer", start_date="2012-10-22", end_date="2012-10-23", description="A software job", event=e1) j2 = Job(name="Systems Administrator", start_date="2012-9-1", end_date="2012-10-26", description="A systems administrator job", event=e1) j1.save() j2.save() s1 = Shift(date="2012-10-23", start_time="9:00", end_time="3:00", max_volunteers=1, job=j1) s2 = Shift(date="2012-10-23", start_time="10:00", end_time="4:00", max_volunteers=2, job=j1) s3 = Shift(date="2012-10-23", start_time="12:00", end_time="6:00", max_volunteers=4, job=j2) s1.save() s2.save() s3.save() #test typical cases register(v1.id, s1.id) self.assertIsNotNone( VolunteerShift.objects.get(volunteer_id=v1.id, shift_id=s1.id)) register(v1.id, s2.id) self.assertIsNotNone( VolunteerShift.objects.get(volunteer_id=v1.id, shift_id=s2.id)) register(v1.id, s3.id) self.assertIsNotNone( VolunteerShift.objects.get(volunteer_id=v1.id, shift_id=s3.id)) #test cases where volunteer tries to sign up for a shift they are already signed up for self.assertEqual(register(v1.id, s1.id), ERROR_CODE_ALREADY_SIGNED_UP) self.assertEqual(register(v1.id, s2.id), ERROR_CODE_ALREADY_SIGNED_UP) self.assertEqual(register(v1.id, s3.id), ERROR_CODE_ALREADY_SIGNED_UP) #test case where more than one volunteer signs up for the same shift #v2 can't sign up for s1 because there are no slots remaining self.assertEqual(register(v2.id, s1.id), ERROR_CODE_NO_SLOTS_REMAINING) register(v2.id, s2.id) self.assertIsNotNone( VolunteerShift.objects.get(volunteer_id=v2.id, shift_id=s2.id)) register(v2.id, s3.id) self.assertIsNotNone( VolunteerShift.objects.get(volunteer_id=v2.id, shift_id=s3.id)) #test cases where a volunteer tries to sign up for a shift they are already signed up for self.assertEqual(register(v2.id, s2.id), ERROR_CODE_ALREADY_SIGNED_UP) self.assertEqual(register(v2.id, s3.id), ERROR_CODE_ALREADY_SIGNED_UP)