def METHOD_NAME(self, tz_bot, bot, raw_bot, creator):
    json_dict = {
        "invite_link": self.link,
        "creator": creator.to_dict(),
        "creates_join_request": self.creates_join_request,
        "is_primary": self.primary,
        "is_revoked": self.revoked,
        "expire_date": to_timestamp(self.expire_date),
        "member_limit": self.member_limit,
        "name": self.name,
        "pending_join_request_count": str(self.pending_join_request_count),
    }
    invite_link_raw = ChatInviteLink.de_json(json_dict, raw_bot)
    invite_link_bot = ChatInviteLink.de_json(json_dict, bot)
    invite_link_tz = ChatInviteLink.de_json(json_dict, tz_bot)
    # comparing utcoffsets because comparing timezones is unpredicatable
    invite_offset = invite_link_tz.expire_date.utcoffset()
    tz_bot_offset = tz_bot.defaults.tzinfo.utcoffset(
        invite_link_tz.expire_date.replace(tzinfo=None)
    )
    assert invite_link_raw.expire_date.tzinfo == UTC
    assert invite_link_bot.expire_date.tzinfo == UTC
    assert invite_offset == tz_bot_offset