예제 #1
0
def test_tenant_accept_rejected_invitation_fail(
    application: Application,
    session: Session,
    tenant: Tenant,
    booking_request: BookingRequest,
):
    booking_req = application.reject_application_invitation(
        session, tenant, booking_request)
    with pytest.raises(ApplicationError):
        application.accept_application_invitation(session, tenant, booking_req)
예제 #2
0
def test_tenant_accept_invitation_to_apply_for_apartment(
    application: Application,
    session: Session,
    tenant: Tenant,
    booking_request: BookingRequest,
):
    application.accept_application_invitation(session, tenant, booking_request)
    booking_req = session.query(BookingRequest).get(booking_request.id)
    assert booking_req.status == BookingRequestStatus.ACCEPTED
    assert booking_req.apartment_application_id is not None
예제 #3
0
def accept_invite(
        invitation_id: UUID,
        tenant: Tenant = Depends(deps.get_current_tenant),
        session: Session = Depends(deps.get_database_session),
        application: Application = Depends(deps.get_application),
):
    try:
        invitation = (session.query(BookingRequest).filter(
            BookingRequest.tenant_id == tenant.id).filter(
                BookingRequest.id == invitation_id).first())
        if not invitation:
            raise HTTPException(404, "Invite not found")
        return application.accept_application_invitation(
            session, tenant, invitation)
    except ApplicationError as e:
        raise HTTPException(400, str(e))
예제 #4
0
def test_tenant_reject_accepted_invitation_fail(
    client: TestClient,
    session: Session,
    booking_request: BookingRequest,
    application: Application,
    tenant: Tenant,
    tenant_auth_header: dict,
):
    rejected_invite = application.accept_application_invitation(
        session, tenant, booking_request
    )
    assert session.query(BookingRequest).count() == 1
    assert booking_request.status == BookingRequestStatus.ACCEPTED
    response = client.delete(
        f"/api/invites/{rejected_invite.id}",
        headers=tenant_auth_header,
    )
    assert response.status_code == 400
    assert booking_request.status == BookingRequestStatus.ACCEPTED