def METHOD_NAME(
    client: TestClient,
    basic_auth: httpx.BasicAuth,
    invitation_data: InvitationInputs,
):
    response = client.post(
        f"/{API_VTAG}/invitations",
        json={
            "issuer": invitation_data.issuer,
            "guest": invitation_data.guest,
            "trial_account_days": invitation_data.trial_account_days,
        },
        auth=basic_auth,
    )
    assert response.status_code == status.HTTP_200_OK, f"{response.json()=}"
    # up ot here, identifcal to above.
    # Let's use invitation link
    invitation_url = _InvitationContentAndLink.parse_obj(response.json()).invitation_url
    # check invitation_url
    response = client.post(
        f"/{API_VTAG}/invitations:extract",
        json={"invitation_url": invitation_url},
        auth=basic_auth,
    )
    assert response.status_code == 200, f"{response.json()=}"
    # decrypted invitation should be identical to request above
    invitation = InvitationContent.parse_obj(response.json())
    assert invitation.issuer == invitation_data.issuer
    assert invitation.guest == invitation_data.guest
    assert invitation.trial_account_days == invitation_data.trial_account_days