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_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