diff --git a/elixir/apps/domain/lib/domain/policies/condition/evaluator.ex b/elixir/apps/domain/lib/domain/policies/condition/evaluator.ex index de3753d4d..1a4531b37 100644 --- a/elixir/apps/domain/lib/domain/policies/condition/evaluator.ex +++ b/elixir/apps/domain/lib/domain/policies/condition/evaluator.ex @@ -143,15 +143,11 @@ defmodule Domain.Policies.Condition.Evaluator do %Condition{ property: :client_verified, operator: :is, - values: ["false"] + values: _other }, - %Clients.Client{verified_at: verified_at} + %Clients.Client{} ) do - if is_nil(verified_at) do - {:ok, nil} - else - :error - end + {:ok, nil} end def fetch_conformation_expiration( diff --git a/elixir/apps/domain/test/domain/policies/condition/evaluator_test.exs b/elixir/apps/domain/test/domain/policies/condition/evaluator_test.exs index 41f7401b3..6ce404826 100644 --- a/elixir/apps/domain/test/domain/policies/condition/evaluator_test.exs +++ b/elixir/apps/domain/test/domain/policies/condition/evaluator_test.exs @@ -199,7 +199,16 @@ defmodule Domain.Policies.Condition.EvaluatorTest do values: ["false"] } - assert fetch_conformation_expiration(condition, verified_client) == :error + assert fetch_conformation_expiration(condition, verified_client) == {:ok, nil} + assert fetch_conformation_expiration(condition, not_verified_client) == {:ok, nil} + + condition = %Domain.Policies.Condition{ + property: :client_verified, + operator: :is, + values: nil + } + + assert fetch_conformation_expiration(condition, verified_client) == {:ok, nil} assert fetch_conformation_expiration(condition, not_verified_client) == {:ok, nil} end diff --git a/elixir/apps/web/lib/web/live/policies/components.ex b/elixir/apps/web/lib/web/live/policies/components.ex index 70b8aa2df..fb158a631 100644 --- a/elixir/apps/web/lib/web/live/policies/components.ex +++ b/elixir/apps/web/lib/web/live/policies/components.ex @@ -42,6 +42,10 @@ defmodule Web.Policies.Components do |> Enum.empty?()) end + defp maybe_filter(%{}, empty_values: :drop) do + false + end + defp maybe_filter(_condition_attrs, _opts) do true end diff --git a/elixir/apps/web/test/web/live/policies/new_test.exs b/elixir/apps/web/test/web/live/policies/new_test.exs index dff6720aa..6c65cd98e 100644 --- a/elixir/apps/web/test/web/live/policies/new_test.exs +++ b/elixir/apps/web/test/web/live/policies/new_test.exs @@ -338,11 +338,6 @@ defmodule Web.Live.Policies.NewTest do assert policy.resource_id == resource.id assert policy.conditions == [ - %Domain.Policies.Condition{ - property: :client_verified, - operator: :is, - values: nil - }, %Domain.Policies.Condition{ property: :current_utc_datetime, operator: :is_in_day_of_week_time_ranges,