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