Skip to content

Commit

Permalink
test: Add tests for Config.modify_configuration_code/5 (#210)
Browse files Browse the repository at this point in the history
  • Loading branch information
leandrocp authored Jan 27, 2025
1 parent 6362b1b commit 83479c5
Showing 1 changed file with 38 additions and 0 deletions.
38 changes: 38 additions & 0 deletions test/igniter/project/config_test.exs
Original file line number Diff line number Diff line change
Expand Up @@ -509,4 +509,42 @@ defmodule Igniter.Project.ConfigTest do
false
end
end

describe "modify_configuration_code/5" do
test "replace existing config" do
zipper =
~s"""
import Config
config :fake, foo: [bar: "baz"]
"""
|> Sourceror.parse_string!()
|> Sourceror.Zipper.zip()

config =
zipper
|> Igniter.Project.Config.modify_configuration_code([:foo], :fake, true)
|> Igniter.Util.Debug.code_at_node()

assert String.contains?(config, "config :fake, foo: true")
end

test "update existing config" do
zipper =
~s"""
import Config
config :fake, foo: [bar: "baz"]
"""
|> Sourceror.parse_string!()
|> Sourceror.Zipper.zip()

config =
zipper
|> Igniter.Project.Config.modify_configuration_code([:foo], :fake, true, fn zipper ->
Igniter.Code.Keyword.put_in_keyword(zipper, [:bar], true)
end)
|> Igniter.Util.Debug.code_at_node()

assert String.contains?(config, "config :fake, foo: [bar: true]")
end
end
end

0 comments on commit 83479c5

Please sign in to comment.