def test_application_connect_to_seat(db_session):
    season = createBasicSeason(db_session)
    room = Room("D1", "kek")
    db_session.add(room)
    seat = Seat(name="D1", room=room, info="")
    db_session.add(seat)
    user = User(username="******",
                sub="sub",
                email="email",
                fullname="schnep scmep")
    db_session.add(user)
    application = Application(needs="",
                              comments="",
                              user=user,
                              partnerUsername="",
                              preferredRoom="d1",
                              seatRollover=True,
                              rank=Rank.WRITING_MASTER,
                              status=ApplicationStatus.SUBMITTED,
                              applicationSeason=season)
    db_session.add(application)
    db_session.commit()
    application.room_id = seat.room_id
    application.seat_id = seat.id
    assert application.seat is seat
    assert seat.application is application
def test_cascading_seat(db_session):
    season = createBasicSeason(db_session)
    user = User(username="******",
                sub="sub",
                email="email",
                fullname="Man Man McMan")
    application = Application(needs="needs",
                              user=user,
                              partnerUsername="******",
                              comments="comments",
                              preferredRoom="pref",
                              seatRollover=True,
                              rank=Rank.WRITING_MASTER,
                              status=ApplicationStatus.SUBMITTED,
                              applicationSeason=season)
    room = Room(name="room", info="info")
    seat = Seat(name="d1", room=room, info="info")
    db_session.add(user)
    db_session.add(application)
    db_session.add(room)
    db_session.add(seat)
    db_session.commit()
    application.room_id = seat.room_id
    application.seat_id = seat.id
    assert application.seat is seat

    db_session.delete(application)
    db_session.commit()
    db_session.expire_all()

    dbseat = db_session.query(Seat).first()
    print(user.application)
    assert dbseat == seat
    assert dbseat.application is None
    assert user.application is None