def test_deleting_an_employee():
    db = MemoryDB()
    empId = AddHourlyEmployee("Jim", "Home", 32.25, db).execute()

    db.get_employee(empId)

    dt = DeleteEmployee(empId, db)
    dt.execute()

    try:
        db.get_employee(empId)
        raise "employee not deleted"
    except KeyError:
        pass
def test_changing_name_of_an_employee():
    db = MemoryDB()
    empId = AddHourlyEmployee("wrong", "Home", 1, db).execute()

    cnt = ChangeName(empId, "Bill", db)
    cnt.execute()

    e = db.get_employee(empId)
    assert e.name == "Bill"
def test_changing_an_address_of_an_employee():
    db = MemoryDB()
    empId = AddHourlyEmployee("Bohn", "wrong", 1, db).execute()

    cat = ChangeAddress(empId, "Home", db)
    cat.execute()

    e = db.get_employee(empId)
    assert e is not None
    assert e.address == "Home"
def test_changing_an_address_of_an_employee():
    db = MemoryDB()
    empId = AddHourlyEmployee("Bohn", "wrong", 1, db).execute()

    cat = ChangeAddress(empId, "Home", db)
    cat.execute()

    e = db.get_employee(empId)
    assert e is not None
    assert e.address == "Home"
def test_adding_a_service_charge_to_a_member():
    db = MemoryDB()
    empId = AddSalariedEmployee("Bill", "Home", 1000, db).execute()
    e = db.get_employee(empId)

    ChangeUnionMember(empId, 10.0, db).execute()

    sct = AddServiceCharge(e.memberId, date.today(), 12.95, db)
    sct.execute()

    sc = e.affiliation.get_service_charge(date.today())
    assert sc.charge == 12.95
    assert sc.date == date.today()
def test_changing_an_address_of_an_employee():
    db = MemoryDB()
    empId = AddSalariedEmployee("Bohn", "wrong", 1500, db).execute()

    cs = ChangeHourly(empId, 12.25, db)
    cs.execute()

    e = db.get_employee(empId)

    pc = e.classification
    assert isinstance(pc, HourlyClassification)
    assert pc.hourly_rate == 12.25

    ps = e.schedule
    assert isinstance(ps, WeeklySchedule)
Exemplo n.º 7
0
def test_changing_an_address_of_an_employee():
    db = MemoryDB()
    empId = AddSalariedEmployee("Bohn", "wrong", 1500, db).execute()

    cs = ChangeHourly(empId, 12.25, db)
    cs.execute()

    e = db.get_employee(empId)

    pc = e.classification
    assert isinstance(pc, HourlyClassification)
    assert pc.hourly_rate == 12.25

    ps = e.schedule
    assert isinstance(ps, WeeklySchedule)
def test_changing_an_employee_to_be_in_a_union_affiliation():
    db = MemoryDB()
    empId = AddHourlyEmployee("Jim", "Home", 12.25, db).execute()

    cut = ChangeUnionMember(empId, 99.42, db)
    cut.execute()

    e = db.get_employee(empId)

    af = e.affiliation
    assert af is not None
    assert af.dues == 99.42

    member = db.get_union_member(e.memberId)
    assert member is e
def test_changing_an_employee_to_be_in_a_union_affiliation():
    db = MemoryDB()
    empId = AddHourlyEmployee("Jim", "Home", 12.25, db).execute()

    cut = ChangeUnionMember(empId, 99.42, db)
    cut.execute()

    e = db.get_employee(empId)

    af = e.affiliation
    assert af is not None
    assert af.dues == 99.42

    member = db.get_union_member(e.memberId)
    assert member is e
def test_changing_an_address_of_an_employee():
    db = MemoryDB()
    empId = AddHourlyEmployee("Bohn", "wrong", 1, db).execute()

    cc = ChangeCommissioned(empId, 2.5, 1000, db)
    cc.execute()

    e = db.get_employee(empId)

    pc = e.classification
    assert isinstance(pc, CommissionedClassification)
    assert pc.baseRate == 1000
    assert pc.commission == 2.5

    ps = e.schedule
    assert isinstance(ps, BiWeeklySchedule)
Exemplo n.º 11
0
def test_deducting_service_charges():
    db = MemoryDB()
    empId = AddCommissionedEmployee("Bob", "Home", 10, 1000, db).execute()
    ChangeUnionMember(empId, 99.42, db).execute()
    mId = db.get_employee(empId).memberId

    pay_date = datetime.date(2001, 11, 16)
    AddServiceCharge(mId, pay_date, 10, db).execute()
    pt = Payday(pay_date, db)
    pt.execute()

    pc = pt.get_paycheck(empId)
    assert pc.gross_pay == 1000
    print pc.deductions
    assert pc.deductions == 109.42
    assert pc.net_pay == 1000 - 109.42
Exemplo n.º 12
0
def test_deducting_service_charges():
    db = MemoryDB()
    empId = AddCommissionedEmployee("Bob", "Home", 10, 1000, db).execute()
    ChangeUnionMember(empId, 99.42, db).execute()
    mId = db.get_employee(empId).memberId

    pay_date = datetime.date(2001, 11, 16)
    AddServiceCharge(mId, pay_date, 10, db).execute()
    pt = Payday(pay_date, db)
    pt.execute()

    pc = pt.get_paycheck(empId)
    assert pc.gross_pay == 1000
    print pc.deductions
    assert pc.deductions == 109.42
    assert pc.net_pay == 1000 - 109.42
def test_removing_affiliations_from_employee():
    db = MemoryDB()
    empId = AddHourlyEmployee("Jim", "Home", 12.25, db).execute()

    ChangeUnionMember(empId, 99.42, db).execute()

    cut = ChangeUnaffiliated(empId, db)
    cut.execute()

    e = db.get_employee(empId)
    assert isinstance(e.affiliation, NoAffiliation)
    try:
        db.get_union_member(e.memberId)
        raise "member not deleted"
    except KeyError:
        pass
def test_removing_affiliations_from_employee():
    db = MemoryDB()
    empId = AddHourlyEmployee("Jim", "Home", 12.25, db).execute()

    ChangeUnionMember(empId, 99.42, db).execute()

    cut = ChangeUnaffiliated(empId, db)
    cut.execute()

    e = db.get_employee(empId)
    assert isinstance(e.affiliation, NoAffiliation)
    try:
        db.get_union_member(e.memberId)
        raise "member not deleted"
    except KeyError:
        pass
def test_changing_an_address_of_an_employee():
    db = MemoryDB()
    empId = AddHourlyEmployee("Bohn", "wrong", 1, db).execute()

    cc = ChangeCommissioned(empId, 2.5, 1000, db)
    cc.execute()

    e = db.get_employee(empId)

    pc = e.classification
    assert isinstance(pc, CommissionedClassification)
    assert pc.baseRate == 1000
    assert pc.commission == 2.5

    ps = e.schedule
    assert isinstance(ps, BiWeeklySchedule)
Exemplo n.º 16
0
def test_adding_an_hourly_paid_employee():
    db = MemoryDB()
    at = AddHourlyEmployee("John", "Home", 15.75, db)
    empId = at.execute()
    e = db.get_employee(empId)

    assert e is not None
    assert e.id == empId
    assert e.name == "John"
    assert e.address == "Home"
    pc = e.classification
    assert isinstance(pc, HourlyClassification)
    assert pc.hourly_rate == 15.75
    ps = e.schedule
    assert isinstance(ps, WeeklySchedule)
    pm = e.method
    assert isinstance(pm, HoldMethod)
Exemplo n.º 17
0
def test_adding_a_time_card():
    db = MemoryDB()
    t = AddHourlyEmployee("Bill", "Home", 15.25, db)
    empId = t.execute()
    date = datetime.date(2005, 3, 30)
    tct = AddTimeCard(empId, date, 8.0, db)
    tct.execute()

    e = db.get_employee(empId)
    assert e is not None

    pc = e.classification
    assert isinstance(pc, HourlyClassification)

    tc = pc.get_time_card(date)
    assert tc.hours == 8.0
    assert tc.date == date
Exemplo n.º 18
0
def test_adding_a_time_card():
    db = MemoryDB()
    t = AddHourlyEmployee("Bill", "Home", 15.25, db)
    empId = t.execute()
    date = datetime.date(2005, 3, 30)
    tct = AddTimeCard(empId, date, 8.0, db)
    tct.execute()

    e = db.get_employee(empId)
    assert e is not None

    pc = e.classification
    assert isinstance(pc, HourlyClassification)

    tc = pc.get_time_card(date)
    assert tc.hours == 8.0
    assert tc.date == date
Exemplo n.º 19
0
def test_adding_a_sales_receipt():
    db = MemoryDB()
    t = AddCommissionedEmployee("John", "Home", 5.0, 1500, db)
    empId = t.execute()
    date = datetime.date(2005, 3, 30)
    srt = AddSalesReceipt(empId, date, 500, db)
    srt.execute()

    e = db.get_employee(empId)
    assert e is not None

    pc = e.classification
    assert isinstance(pc, CommissionedClassification)

    srs = pc.get_sales_receipts()
    assert srs[0].amount == 500
    assert srs[0].date == date
Exemplo n.º 20
0
def test_adding_a_sales_receipt():
    db = MemoryDB()
    t = AddCommissionedEmployee("John", "Home", 5.0, 1500, db)
    empId = t.execute()
    date = datetime.date(2005, 3, 30)
    srt = AddSalesReceipt(empId, date, 500, db)
    srt.execute()

    e = db.get_employee(empId)
    assert e is not None

    pc = e.classification
    assert isinstance(pc, CommissionedClassification)

    srs = pc.get_sales_receipts()
    assert srs[0].amount == 500
    assert srs[0].date == date
def test_adding_an_employee_paid_by_salary():
    db = MemoryDB()
    t = AddSalariedEmployee("Jim", "Work", 2000.0, db)
    empId = t.execute()
    e = db.get_employee(empId)

    assert e.name, "Jim"
    assert e.address, "Work"

    pc = e.classification
    assert isinstance(pc, SalariedClassification)
    assert pc.salary == 2000.0

    ps = e.schedule
    assert isinstance(ps, MonthlySchedule)

    pm = e.method
    assert isinstance(pm, HoldMethod)
Exemplo n.º 22
0
def test_adding_an_employee_paid_by_salary():
    db = MemoryDB()
    t = AddSalariedEmployee("Jim", "Work", 2000.0, db)
    empId = t.execute()
    e = db.get_employee(empId)

    assert e.name, "Jim"
    assert e.address, "Work"

    pc = e.classification
    assert isinstance(pc, SalariedClassification)
    assert pc.salary == 2000.0

    ps = e.schedule
    assert isinstance(ps, MonthlySchedule)

    pm = e.method
    assert isinstance(pm, HoldMethod)
def test_adding_an_employee_paid_by_commission():
    db = MemoryDB()
    t = AddCommissionedEmployee("Sorro", "Firm", 5.0, 1000, db)
    empId = t.execute()

    e = db.get_employee(empId)
    assert e.name == "Sorro"
    assert e.address == "Firm"

    pc = e.classification
    assert isinstance(pc, CommissionedClassification)
    assert pc.commission == 5.0
    assert pc.baseRate == 1000

    ps = e.schedule
    assert isinstance(ps, BiWeeklySchedule)

    pm = e.method
    assert isinstance(pm, HoldMethod)
def test_adding_an_employee_paid_by_commission():
    db = MemoryDB()
    t = AddCommissionedEmployee("Sorro", "Firm", 5.0, 1000, db)
    empId = t.execute()

    e = db.get_employee(empId)
    assert e.name == "Sorro"
    assert e.address == "Firm"

    pc = e.classification
    assert isinstance(pc, CommissionedClassification)
    assert pc.commission == 5.0
    assert pc.baseRate == 1000

    ps = e.schedule
    assert isinstance(ps, BiWeeklySchedule)

    pm = e.method
    assert isinstance(pm, HoldMethod)