def test_dept_head_ribbon_label_from_dept_membership(): with Session() as session: a = Attendee() session.add(a) a.presave_adjustments() assert a.ribbon_labels == [] a.dept_memberships = [DeptMembership(is_dept_head=True)] a.presave_adjustments() assert a.ribbon_labels == ['Department Head'] a.presave_adjustments() assert a.ribbon_labels == ['Department Head'] a.badge_type = c.ATTENDEE_BADGE a.staffing = True a.ribbon = '{}'.format(c.DEALER_RIBBON) a.presave_adjustments() assert set(a.ribbon_labels) == set(['Department Head', 'Shopkeep']) a.presave_adjustments() assert set(a.ribbon_labels) == set(['Department Head', 'Shopkeep']) a.dept_memberships = [DeptMembership(is_dept_head=False)] a.presave_adjustments() assert set(a.ribbon_labels) == set(['Department Head', 'Shopkeep']) a.presave_adjustments() assert set(a.ribbon_labels) == set(['Department Head', 'Shopkeep']) session.expunge_all()
def test_dept_head_ribbon_label_from_dept_membership(): with Session() as session: a = Attendee() session.add(a) a.presave_adjustments() assert a.ribbon_labels == [] a.dept_memberships = [DeptMembership(is_dept_head=True)] a.presave_adjustments() assert a.ribbon_labels == ['Department Head'] a.presave_adjustments() assert a.ribbon_labels == ['Department Head'] a.badge_type = c.ATTENDEE_BADGE a.staffing = True a.ribbon = '{}'.format(c.DEALER_RIBBON) a.presave_adjustments() assert set(a.ribbon_labels) == set(['Department Head', 'Shopkeep']) a.presave_adjustments() assert set(a.ribbon_labels) == set(['Department Head', 'Shopkeep']) a.dept_memberships = [DeptMembership(is_dept_head=False)] a.presave_adjustments() assert set(a.ribbon_labels) == set(['Department Head', 'Shopkeep']) a.presave_adjustments() assert set(a.ribbon_labels) == set(['Department Head', 'Shopkeep']) session.expunge_all()
def test_must_contact(): dept1 = Department(name='Dept1', description='Dept1') dept2 = Department(name='Dept2', description='Dept2') poc_dept1 = Attendee( paid=c.NEED_NOT_PAY, first_name='Poc', last_name='Dept1') poc_dept2 = Attendee( paid=c.NEED_NOT_PAY, first_name='Poc', last_name='Dept2') poc_both = Attendee( paid=c.NEED_NOT_PAY, first_name='Poc', last_name='Both') poc_dept1.dept_memberships = [DeptMembership( department=dept1, is_poc=True)] poc_dept2.dept_memberships = [DeptMembership( department=dept2, is_poc=True)] poc_both.dept_memberships = [ DeptMembership( department=dept1, is_poc=True), DeptMembership( department=dept2, is_poc=True)] start_time = datetime.now(tz=pytz.UTC) job1 = Job( name='Job1', description='Job1', start_time=start_time, duration=1, weight=1, slots=1, department=dept1) job2 = Job( name='Job2', description='Job2', start_time=start_time, duration=1, weight=1, slots=1, department=dept2) volunteer = Attendee(paid=c.HAS_PAID, first_name='V', last_name='One') job1.shifts = [Shift(attendee=volunteer, job=job1)] job2.shifts = [Shift(attendee=volunteer, job=job2)] with Session() as session: session.add_all([ dept1, dept2, poc_dept1, poc_dept2, poc_both, job1, job2, volunteer]) session.commit() assert volunteer.must_contact == '(Dept1) Poc Both / Poc Dept1<br/>(Dept2) Poc Both / Poc Dept2'
def test_must_contact(): dept1 = Department(name='Dept1', description='Dept1') dept2 = Department(name='Dept2', description='Dept2') poc_dept1 = Attendee( paid=c.NEED_NOT_PAY, first_name='Poc', last_name='Dept1') poc_dept2 = Attendee( paid=c.NEED_NOT_PAY, first_name='Poc', last_name='Dept2') poc_both = Attendee( paid=c.NEED_NOT_PAY, first_name='Poc', last_name='Both') poc_dept1.dept_memberships = [DeptMembership( department=dept1, is_poc=True)] poc_dept2.dept_memberships = [DeptMembership( department=dept2, is_poc=True)] poc_both.dept_memberships = [ DeptMembership( department=dept1, is_poc=True), DeptMembership( department=dept2, is_poc=True)] start_time = datetime.now(tz=pytz.UTC) job1 = Job( name='Job1', description='Job1', start_time=start_time, duration=1, weight=1, slots=1, department=dept1) job2 = Job( name='Job2', description='Job2', start_time=start_time, duration=1, weight=1, slots=1, department=dept2) volunteer = Attendee(paid=c.HAS_PAID, first_name='V', last_name='One') job1.shifts = [Shift(attendee=volunteer, job=job1)] job2.shifts = [Shift(attendee=volunteer, job=job2)] with Session() as session: session.add_all([ dept1, dept2, poc_dept1, poc_dept2, poc_both, job1, job2, volunteer]) session.commit() assert volunteer.must_contact == '(Dept1) Poc Both / Poc Dept1<br/>(Dept2) Poc Both / Poc Dept2'
def test_basic(self, dept, trusted_role): a = Attendee( staffing=True, requested_depts=[dept], ribbon=c.VOLUNTEER_RIBBON, shifts=[Shift()]) a.dept_memberships = [DeptMembership( attendee=a, department=dept, dept_roles=[trusted_role])] a.assigned_depts = [dept] a.unset_volunteering() assert not a.staffing assert not a.has_role_somewhere assert not a.requested_depts assert not a.dept_memberships assert not a.shifts assert a.ribbon == ''
def test_basic(self, dept, trusted_role): a = Attendee( staffing=True, requested_depts=[dept], ribbon=c.VOLUNTEER_RIBBON, shifts=[Shift()]) a.dept_memberships = [DeptMembership( attendee=a, department=dept, dept_roles=[trusted_role])] a.assigned_depts = [dept] a.unset_volunteering() assert not a.staffing assert not a.has_role_somewhere assert not a.requested_depts assert not a.dept_memberships assert not a.shifts assert a.ribbon == ''