async def METHOD_NAME(
    db,
    policy,
    yotpo_loyalty_connection_config,
    yotpo_loyalty_dataset_config,
    yotpo_loyalty_identity_phone_number,
) -> None:
    """Full access request based on the Yotpo Loyalty & Referrals SaaS config"""
    privacy_request = PrivacyRequest(
        id=f"test_yotpo_loyalty_access_request_task_with_phone_number_{random.randint(0, 1000)}"
    )
    identity = Identity(**{"phone_number": yotpo_loyalty_identity_phone_number})
    privacy_request.cache_identity(identity)
    dataset_name = yotpo_loyalty_connection_config.get_saas_config().fides_key
    merged_graph = yotpo_loyalty_dataset_config.get_graph()
    graph = DatasetGraph(merged_graph)
    v = await graph_task.run_access_request(
        privacy_request,
        policy,
        graph,
        [yotpo_loyalty_connection_config],
        {"phone_number": yotpo_loyalty_identity_phone_number},
        db,
    )
    assert_rows_match(
        v[f"{dataset_name}:customer"],
        min_size=1,
        keys=[
            "total_spend_cents",
            "total_purchases",
            "perks_redeemed",
            "last_purchase_at",
            "first_name",
            "last_name",
            "phone_number",
            "email",
            "points_balance",
            "points_earned",
            "last_seen_at",
            "thirty_party_id",
            "third_party_id",
            "pos_account_id",
            "has_store_account",
            "credit_balance",
            "credit_balance_in_customer_currency",
            "opt_in",
            "opted_in_at",
            "points_expire_at",
            "vip_tier_actions_completed",
            "vip_tier_upgrade_requirements",
        ],
    )
    # verify we only returned data for our identity phone number
    assert (
        v[f"{dataset_name}:customer"][0]["phone_number"]
        == yotpo_loyalty_identity_phone_number
    )