Пример #1
0
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()
Пример #2
0
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()
Пример #3
0
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'
Пример #4
0
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'
Пример #5
0
 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 == ''
Пример #6
0
 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 == ''