Skip to content
This repository was archived by the owner on Nov 8, 2022. It is now read-only.

Commit 05058d2

Browse files
committed
fix(c11n): filter nil when user has no c11n & clean up
1 parent 3260a71 commit 05058d2

File tree

4 files changed

+10
-11
lines changed

4 files changed

+10
-11
lines changed

lib/mastani_server/accounts/delegates/customization.ex

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,8 +16,12 @@ defmodule MastaniServer.Accounts.Delegate.Customization do
1616
"""
1717
def get_customization(%User{id: user_id}) do
1818
case ORM.find_by(Customization, user_id: user_id) do
19-
{:ok, customization} -> {:ok, Map.merge(@default_customization, customization)}
20-
{:error, _} -> {:ok, @default_customization}
19+
{:ok, customization} ->
20+
customization = customization |> Map.from_struct() |> filter_nil_value
21+
{:ok, Map.merge(@default_customization, customization)}
22+
23+
{:error, _} ->
24+
{:ok, @default_customization}
2125
end
2226
end
2327

@@ -99,4 +103,8 @@ defmodule MastaniServer.Accounts.Delegate.Customization do
99103
# use brainwash to avoid brower-block-plugins
100104
[:theme, :brainwash_free, :community_chart]
101105
end
106+
107+
defp filter_nil_value(map) do
108+
for {k, v} <- map, !is_nil(v), into: %{}, do: {k, v}
109+
end
102110
end

test/mastani_server/accounts/customization_test.exs

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -12,29 +12,25 @@ defmodule MastaniServer.Test.Accounts.Customization do
1212
end
1313

1414
describe "[user customization]" do
15-
@tag :wip
1615
test "user can have default customization without payment", ~m(user)a do
1716
{:ok, result} = Accounts.set_customization(user, :banner_layout, "digest")
1817
assert result.banner_layout == "digest"
1918

2019
{:error, _result} = Accounts.set_customization(user, :non_exsit, true)
2120
end
2221

23-
@tag :wip
2422
test "user set advance customization without payment fails", ~m(user)a do
2523
{:error, _result} = Accounts.set_customization(user, :non_exsit, true)
2624
{:error, _result} = Accounts.set_customization(user, :brainwash_free, true)
2725
end
2826

29-
@tag :wip
3027
test "user can set advance customization after pay for it", ~m(user)a do
3128
{:error, _result} = Accounts.set_customization(user, :brainwash_free, true)
3229
{:ok, _result} = Accounts.purchase_service(user, :brainwash_free)
3330

3431
{:ok, _result} = Accounts.set_customization(user, :brainwash_free, true)
3532
end
3633

37-
@tag :wip
3834
test "user can set multiable customization at once", ~m(user)a do
3935
{:ok, result} =
4036
Accounts.set_customization(user, %{
@@ -51,7 +47,6 @@ defmodule MastaniServer.Test.Accounts.Customization do
5147
assert {:error, _result} = Accounts.set_customization(user, %{})
5248
end
5349

54-
@tag :wip
5550
test "user can purchase multiable items at once", ~m(user)a do
5651
{:ok, result} =
5752
Accounts.purchase_service(user, %{brainwash_free: true, community_chart: true})

test/mastani_server_web/mutation/accounts/customization_test.exs

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,6 @@ defmodule MastaniServer.Test.Mutation.Account.Customization do
2727
}
2828
}
2929
"""
30-
@tag :wip2
3130
test "user can set customization", ~m(user_conn user)a do
3231
ownd_conn = simu_conn(:user, user)
3332

@@ -48,7 +47,6 @@ defmodule MastaniServer.Test.Mutation.Account.Customization do
4847
assert result["customization"]["displayDensity"] == "25"
4948
end
5049

51-
@tag :wip2
5250
test "user set customization with invalid attr fails", ~m(user_conn user)a do
5351
ownd_conn = simu_conn(:user, user)
5452

@@ -68,7 +66,6 @@ defmodule MastaniServer.Test.Mutation.Account.Customization do
6866
assert user_conn |> mutation_get_error?(@query, variables2)
6967
end
7068

71-
@tag :wip2
7269
test "unlogin user set customization fails", ~m(guest_conn)a do
7370
variables = %{
7471
customization: %{

test/mastani_server_web/query/accounts/customization_test.exs

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,6 @@ defmodule MastaniServer.Test.Query.Account.Customization do
3434
}
3535
}
3636
"""
37-
@tag :wip
3837
test "user can have default customization configs", ~m(user_conn user)a do
3938
results = user_conn |> query_result(@query, %{}, "user")
4039

0 commit comments

Comments
 (0)