Browse Source

fix attemps to merge map

feature/1392-support-irreversible-filters
Alexander Strizhakov 4 years ago
parent
commit
e1603ac8fe
No known key found for this signature in database GPG Key ID: 22896A53AEF1381
2 changed files with 8 additions and 3 deletions
  1. +2
    -1
      lib/pleroma/config/config_db.ex
  2. +6
    -2
      test/config/config_db_test.exs

+ 2
- 1
lib/pleroma/config/config_db.ex View File

@@ -135,7 +135,8 @@ defmodule Pleroma.ConfigDB do

with %ConfigDB{} = config <- ConfigDB.get_by_params(search_opts),
{_, true, config} <- {:partial_update, can_be_partially_updated?(config), config},
{_, true, config} <- {:can_be_merged, is_list(params[:value]), config} do
{_, true, config} <-
{:can_be_merged, is_list(params[:value]) and is_list(config.value), config} do
new_value = merge_group(config.group, config.key, config.value, params[:value])
update(config, %{value: new_value})
else


+ 6
- 2
test/config/config_db_test.exs View File

@@ -43,7 +43,7 @@ defmodule Pleroma.ConfigDBTest do

params = [
%{group: :pleroma, key: key2, value: "another_value"},
%{group: :pleroma, key: config.key, value: "new_value"}
%{group: :pleroma, key: config.key, value: [a: 1, b: 2, c: "new_value"]}
]

assert Repo.all(ConfigDB) |> length() == 1
@@ -55,7 +55,7 @@ defmodule Pleroma.ConfigDBTest do
config1 = ConfigDB.get_by_params(%{group: config.group, key: config.key})
config2 = ConfigDB.get_by_params(%{group: :pleroma, key: key2})

assert config1.value == "new_value"
assert config1.value == [a: 1, b: 2, c: "new_value"]
assert config2.value == "another_value"
end

@@ -398,6 +398,10 @@ defmodule Pleroma.ConfigDBTest do
]
end

test "trandformed keyword" do
assert ConfigDB.to_elixir_types(a: 1, b: 2, c: "string") == [a: 1, b: 2, c: "string"]
end

test "complex keyword with nested mixed childs" do
assert ConfigDB.to_elixir_types([
%{"tuple" => [":uploader", "Pleroma.Uploaders.Local"]},


Loading…
Cancel
Save