From 236e0f5e6c0cc7848e78c338cd215e88c35ca351 Mon Sep 17 00:00:00 2001 From: Zach Daniel Date: Wed, 1 Feb 2023 00:49:57 -0500 Subject: [PATCH] improvement: update ash & use new ci patterns --- .github/workflows/elixir.yml | 95 ++------------------ .tool-versions | 2 + config/config.exs | 3 + lib/data_layer/changes/set_and_track_slug.ex | 1 + lib/data_layer/data_layer.ex | 6 +- lib/data_layer/info.ex | 2 +- lib/data_layer/transformers/add_structure.ex | 1 + mix.exs | 14 +-- mix.lock | 12 +-- test/ash_blog_test.exs | 2 +- 10 files changed, 33 insertions(+), 105 deletions(-) create mode 100644 .tool-versions create mode 100644 config/config.exs diff --git a/.github/workflows/elixir.yml b/.github/workflows/elixir.yml index 22e817f..332ea5d 100644 --- a/.github/workflows/elixir.yml +++ b/.github/workflows/elixir.yml @@ -1,94 +1,11 @@ -name: Ash CI +name: CI on: push: + tags: + - "v*" branches: [main] - tags-ignore: ["v*"] - pull_request: - branches: [main] - create: - tags: ["v*"] - branches: main + workflow_call: jobs: - build: - runs-on: ubuntu-latest - name: OTP ${{matrix.otp}} / Elixir ${{matrix.elixir}} / Ash ${{matrix.ash}} - strategy: - fail-fast: false - matrix: - otp: ["23"] - elixir: ["1.14.0"] - ash: ["main", "2.4.2"] - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - ASH_VERSION: ${{matrix.ash}} - steps: - - run: sudo apt-get install --yes erlang-dev - - uses: actions/checkout@v2 - - uses: erlef/setup-elixir@v1 - with: - otp-version: ${{matrix.otp}} - elixir-version: ${{matrix.elixir}} - - uses: actions/cache@v1 - id: cache-deps - with: - path: deps - key: otp-${{matrix.otp}}-elixir-${{matrix.elixir}}-deps-2-${{ hashFiles(format('{0}{1}', github.workspace, '/mix.lock')) }} - restore-keys: otp-${{matrix.otp}}-elixir-${{matrix.elixir}}-deps-2- - - uses: actions/cache@v1 - id: cache-build - with: - path: _build - key: otp-${{matrix.otp}}-elixir-${{matrix.elixir}}-build-2-${{ hashFiles(format('{0}{1}', github.workspace, '/mix.lock')) }} - restore-keys: otp-${{matrix.otp}}-elixir-${{matrix.elixir}}-build-2- - - run: mix deps.get - - run: mix check --except dialyzer - if: startsWith(github.ref, 'refs/tags/v') - - run: mix check - if: "!startsWith(github.ref, 'refs/tags/v')" - release: - needs: [build] - if: startsWith(github.ref, 'refs/tags/v') - runs-on: ubuntu-latest - name: Release - strategy: - matrix: - otp: ["23"] - elixir: ["1.13.2"] - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - steps: - - run: sudo apt-get install --yes erlang-dev - - uses: actions/checkout@v2 - - uses: erlef/setup-elixir@v1 - with: - otp-version: ${{matrix.otp}} - elixir-version: ${{matrix.elixir}} - - uses: actions/cache@v1 - id: cache-deps - with: - path: deps - key: otp-${{matrix.otp}}-elixir-${{matrix.elixir}}-deps-2-${{ hashFiles(format('{0}{1}', github.workspace, '/mix.lock')) }} - restore-keys: otp-${{matrix.otp}}-elixir-${{matrix.elixir}}-deps-2- - - run: mix deps.get - - run: mix compile - - run: mix hex.publish --yes - if: startsWith(github.ref, 'refs/tags/v') - env: - HEX_API_KEY: ${{ secrets.HEX_API_KEY }} - - uses: little-core-labs/get-git-tag@v3.0.1 - id: tagName - - uses: ethomson/send-tweet-action@v1 - if: startsWith(github.ref, 'refs/tags/v') - with: - status: | - AshBlog version "${{ steps.tagName.outputs.tag }}" released! - - #myelixirstatus - - See the changelog for more info: - https://github.com/ash-project/ash_blog/blob/main/CHANGELOG.md - consumer-key: ${{ secrets.TWITTER_CONSUMER_API_KEY }} - consumer-secret: ${{ secrets.TWITTER_CONSUMER_API_SECRET }} - access-token: ${{ secrets.TWITTER_ACCESS_TOKEN }} - access-token-secret: ${{ secrets.TWITTER_ACCESS_TOKEN_SECRET }} + ash-ci: + uses: ash-project/ash/.github/workflows/ash-ci.yml@main diff --git a/.tool-versions b/.tool-versions new file mode 100644 index 0000000..55e53bf --- /dev/null +++ b/.tool-versions @@ -0,0 +1,2 @@ +erlang 25.2.2 +elixir 1.14.3 diff --git a/config/config.exs b/config/config.exs new file mode 100644 index 0000000..13568a8 --- /dev/null +++ b/config/config.exs @@ -0,0 +1,3 @@ +import Config + +config :ash, :use_all_identities_in_manage_relationship?, false diff --git a/lib/data_layer/changes/set_and_track_slug.ex b/lib/data_layer/changes/set_and_track_slug.ex index 675a1d4..efa7b27 100644 --- a/lib/data_layer/changes/set_and_track_slug.ex +++ b/lib/data_layer/changes/set_and_track_slug.ex @@ -1,4 +1,5 @@ defmodule AshBlog.DataLayer.Changes.SetAndTrackSlug do + @moduledoc false use Ash.Resource.Change def change(changeset, _, _) do diff --git a/lib/data_layer/data_layer.ex b/lib/data_layer/data_layer.ex index ddee234..838cca6 100644 --- a/lib/data_layer/data_layer.ex +++ b/lib/data_layer/data_layer.ex @@ -257,7 +257,7 @@ defmodule AshBlog.DataLayer do public?: false }) do {:ok, expression} -> - case Ash.Filter.Runtime.do_match(record, expression) do + case Ash.Expr.eval_hydrated(expression, record: record) do {:ok, value} -> if calculation.load do {:cont, {:ok, Map.put(record, calculation.load, value)}} @@ -300,6 +300,7 @@ defmodule AshBlog.DataLayer do end end + # sobelow_skip ["Traversal.FileModule"] defp get_records(resource) do published = resource @@ -426,6 +427,7 @@ defmodule AshBlog.DataLayer do @doc false @impl true + # sobelow_skip ["Traversal.FileModule"] def create(resource, changeset) do file_name = file_name(resource, changeset) @@ -601,6 +603,7 @@ defmodule AshBlog.DataLayer do @doc false @impl true + # sobelow_skip ["Traversal.FileModule"] def update(resource, changeset) do with {:ok, record} <- do_update(changeset, resource), @@ -645,6 +648,7 @@ defmodule AshBlog.DataLayer do end) end + # sobelow_skip ["Traversal.FileModule"] defp do_update(changeset, resource) do file_path = changeset.data.__metadata__[:ash_blog_file] || diff --git a/lib/data_layer/info.ex b/lib/data_layer/info.ex index 966675f..0d17d81 100644 --- a/lib/data_layer/info.ex +++ b/lib/data_layer/info.ex @@ -38,7 +38,7 @@ defmodule AshBlog.DataLayer.Info do end def file_name(%resource{} = record) do - {mod, fun, args} = file_name(resource) + {mod, fun, args} = file_namer(resource) case apply(mod, fun, [record | args]) do {:ok, value} -> diff --git a/lib/data_layer/transformers/add_structure.ex b/lib/data_layer/transformers/add_structure.ex index 1d56f62..c3a9c86 100644 --- a/lib/data_layer/transformers/add_structure.ex +++ b/lib/data_layer/transformers/add_structure.ex @@ -1,4 +1,5 @@ defmodule AshBlog.DataLayer.Transformers.AddStructure do + @moduledoc false use Spark.Dsl.Transformer alias AshBlog.DataLayer.Info diff --git a/mix.exs b/mix.exs index 082e799..1f63d56 100644 --- a/mix.exs +++ b/mix.exs @@ -109,19 +109,19 @@ defmodule AshBlog.MixProject do # Run "mix help deps" to learn about dependencies. defp deps do [ - {:ash, "~> 2.4"}, + {:ash, "~> 2.5"}, {:yaml_elixir, "~> 2.9"}, {:xml_builder, "~> 2.2"}, # dev/test dependencies {:elixir_sense, github: "elixir-lsp/elixir_sense", ref: "85d4a87d", only: [:dev, :test, :docs]}, - {:ex_doc, "~> 0.22", only: :dev, runtime: false}, - {:ex_check, "~> 0.12.0", only: :dev}, - {:credo, ">= 0.0.0", only: :dev, runtime: false}, - {:dialyxir, ">= 0.0.0", only: :dev, runtime: false}, - {:sobelow, ">= 0.0.0", only: :dev, runtime: false}, - {:git_ops, "~> 2.0.1", only: :dev}, + {:ex_doc, "~> 0.22", only: [:dev, :test], runtime: false}, + {:ex_check, "~> 0.12.0", only: [:dev, :test]}, + {:credo, ">= 0.0.0", only: [:dev, :test], runtime: false}, + {:dialyxir, ">= 0.0.0", only: [:dev, :test], runtime: false}, + {:sobelow, ">= 0.0.0", only: [:dev, :test], runtime: false}, + {:git_ops, "~> 2.0.1", only: [:dev, :test]}, {:excoveralls, "~> 0.13.0", only: [:dev, :test]} # {:dep_from_hexpm, "~> 0.3.0"}, # {:dep_from_git, git: "https://github.com/elixir-lang/my_dep.git", tag: "0.1.0"} diff --git a/mix.lock b/mix.lock index 8f0976d..6b6e2e4 100644 --- a/mix.lock +++ b/mix.lock @@ -1,5 +1,5 @@ %{ - "ash": {:hex, :ash, "2.4.23", "1c9941d2081074cec329e61e64f6ac8d2a2d4fcf8cb29eb9d13e3951dfaa48ed", [:mix], [{:comparable, "~> 1.0", [hex: :comparable, repo: "hexpm", optional: false]}, {:decimal, "~> 2.0", [hex: :decimal, repo: "hexpm", optional: false]}, {:earmark, "~> 1.4", [hex: :earmark, repo: "hexpm", optional: true]}, {:ecto, "~> 3.7", [hex: :ecto, repo: "hexpm", optional: false]}, {:ets, "~> 0.8.0", [hex: :ets, repo: "hexpm", optional: false]}, {:jason, ">= 1.0.0", [hex: :jason, repo: "hexpm", optional: false]}, {:picosat_elixir, "~> 0.2", [hex: :picosat_elixir, repo: "hexpm", optional: false]}, {:plug, ">= 0.0.0", [hex: :plug, repo: "hexpm", optional: true]}, {:spark, "~> 0.2.18", [hex: :spark, repo: "hexpm", optional: false]}, {:stream_data, "~> 0.5.0", [hex: :stream_data, repo: "hexpm", optional: false]}, {:telemetry, "~> 1.1", [hex: :telemetry, repo: "hexpm", optional: false]}], "hexpm", "00d6983422519bc268e316f155dcc252297604aebfd08072cd0abbfff7a0e3bb"}, + "ash": {:hex, :ash, "2.5.16", "32dbccf70588fd8e41e8d7cc8a0567eac11d82ea33b1997020b845416d582bf8", [:mix], [{:comparable, "~> 1.0", [hex: :comparable, repo: "hexpm", optional: false]}, {:decimal, "~> 2.0", [hex: :decimal, repo: "hexpm", optional: false]}, {:earmark, "~> 1.4", [hex: :earmark, repo: "hexpm", optional: true]}, {:ecto, "~> 3.7", [hex: :ecto, repo: "hexpm", optional: false]}, {:ets, "~> 0.8.0", [hex: :ets, repo: "hexpm", optional: false]}, {:jason, ">= 1.0.0", [hex: :jason, repo: "hexpm", optional: false]}, {:picosat_elixir, "~> 0.2", [hex: :picosat_elixir, repo: "hexpm", optional: false]}, {:plug, ">= 0.0.0", [hex: :plug, repo: "hexpm", optional: true]}, {:spark, ">= 0.3.8 and < 1.0.0-0", [hex: :spark, repo: "hexpm", optional: false]}, {:stream_data, "~> 0.5.0", [hex: :stream_data, repo: "hexpm", optional: false]}, {:telemetry, "~> 1.1", [hex: :telemetry, repo: "hexpm", optional: false]}], "hexpm", "64608980a63ab3cf1a061cd914abd096e9c653b5be133d84210f5d76ee63860f"}, "bunt": {:hex, :bunt, "0.2.1", "e2d4792f7bc0ced7583ab54922808919518d0e57ee162901a16a1b6664ef3b14", [:mix], [], "hexpm", "a330bfb4245239787b15005e66ae6845c9cd524a288f0d141c148b02603777a5"}, "certifi": {:hex, :certifi, "2.9.0", "6f2a475689dd47f19fb74334859d460a2dc4e3252a3324bd2111b8f0429e7e21", [:rebar3], [], "hexpm", "266da46bdb06d6c6d35fde799bcb28d36d985d424ad7c08b5bb48f5b5cdd4641"}, "comparable": {:hex, :comparable, "1.0.0", "bb669e91cedd14ae9937053e5bcbc3c52bb2f22422611f43b6e38367d94a495f", [:mix], [{:typable, "~> 0.1", [hex: :typable, repo: "hexpm", optional: false]}], "hexpm", "277c11eeb1cd726e7cd41c6c199e7e52fa16ee6830b45ad4cdc62e51f62eb60c"}, @@ -8,8 +8,8 @@ "dialyxir": {:hex, :dialyxir, "1.2.0", "58344b3e87c2e7095304c81a9ae65cb68b613e28340690dfe1a5597fd08dec37", [:mix], [{:erlex, ">= 0.2.6", [hex: :erlex, repo: "hexpm", optional: false]}], "hexpm", "61072136427a851674cab81762be4dbeae7679f85b1272b6d25c3a839aff8463"}, "docsh": {:hex, :docsh, "0.7.2", "f893d5317a0e14269dd7fe79cf95fb6b9ba23513da0480ec6e77c73221cae4f2", [:rebar3], [{:providers, "1.8.1", [hex: :providers, repo: "hexpm", optional: false]}], "hexpm", "4e7db461bb07540d2bc3d366b8513f0197712d0495bb85744f367d3815076134"}, "earmark_parser": {:hex, :earmark_parser, "1.4.29", "149d50dcb3a93d9f3d6f3ecf18c918fb5a2d3c001b5d3305c926cddfbd33355b", [:mix], [], "hexpm", "4902af1b3eb139016aed210888748db8070b8125c2342ce3dcae4f38dcc63503"}, - "ecto": {:hex, :ecto, "3.9.2", "017db3bc786ff64271108522c01a5d3f6ba0aea5c84912cfb0dd73bf13684108", [:mix], [{:decimal, "~> 1.6 or ~> 2.0", [hex: :decimal, repo: "hexpm", optional: false]}, {:jason, "~> 1.0", [hex: :jason, repo: "hexpm", optional: true]}, {:telemetry, "~> 0.4 or ~> 1.0", [hex: :telemetry, repo: "hexpm", optional: false]}], "hexpm", "21466d5177e09e55289ac7eade579a642578242c7a3a9f91ad5c6583337a9d15"}, - "elixir_make": {:hex, :elixir_make, "0.7.1", "314f2a5450254db0446ba94cc1ba12a25b83b457f24aa9cc21c128cead5d03aa", [:mix], [{:castore, "~> 0.1", [hex: :castore, repo: "hexpm", optional: true]}], "hexpm", "0f1ad4787b4d7489563351cbf85c9221a852f5441364a2cb3ffd36f2fda7f7fb"}, + "ecto": {:hex, :ecto, "3.9.4", "3ee68e25dbe0c36f980f1ba5dd41ee0d3eb0873bccae8aeaf1a2647242bffa35", [:mix], [{:decimal, "~> 1.6 or ~> 2.0", [hex: :decimal, repo: "hexpm", optional: false]}, {:jason, "~> 1.0", [hex: :jason, repo: "hexpm", optional: true]}, {:telemetry, "~> 0.4 or ~> 1.0", [hex: :telemetry, repo: "hexpm", optional: false]}], "hexpm", "de5f988c142a3aa4ec18b85a4ec34a2390b65b24f02385c1144252ff6ff8ee75"}, + "elixir_make": {:hex, :elixir_make, "0.7.3", "c37fdae1b52d2cc51069713a58c2314877c1ad40800a57efb213f77b078a460d", [:mix], [{:castore, "~> 0.1", [hex: :castore, repo: "hexpm", optional: true]}], "hexpm", "24ada3e3996adbed1fa024ca14995ef2ba3d0d17b678b0f3f2b1f66e6ce2b274"}, "elixir_sense": {:git, "https://github.com/elixir-lsp/elixir_sense.git", "85d4a87d216678dae30f348270eb90f9ed49ce20", [ref: "85d4a87d"]}, "erlex": {:hex, :erlex, "0.2.6", "c7987d15e899c7a2f34f5420d2a2ea0d659682c06ac607572df55a43753aa12e", [:mix], [], "hexpm", "2ed2e25711feb44d52b17d2780eabf998452f6efda104877a3881c2f8c0c0c75"}, "ets": {:hex, :ets, "0.8.1", "8ff9bcda5682b98493f8878fc9dbd990e48d566cba8cce59f7c2a78130da29ea", [:mix], [], "hexpm", "6be41b50adb5bc5c43626f25ea2d0af1f4a242fb3fad8d53f0c67c20b78915cc"}, @@ -28,7 +28,7 @@ "makeup_erlang": {:hex, :makeup_erlang, "0.1.1", "3fcb7f09eb9d98dc4d208f49cc955a34218fc41ff6b84df7c75b3e6e533cc65f", [:mix], [{:makeup, "~> 1.0", [hex: :makeup, repo: "hexpm", optional: false]}], "hexpm", "174d0809e98a4ef0b3309256cbf97101c6ec01c4ab0b23e926a9e17df2077cbb"}, "metrics": {:hex, :metrics, "1.0.1", "25f094dea2cda98213cecc3aeff09e940299d950904393b2a29d191c346a8486", [:rebar3], [], "hexpm", "69b09adddc4f74a40716ae54d140f93beb0fb8978d8636eaded0c31b6f099f16"}, "mimerl": {:hex, :mimerl, "1.2.0", "67e2d3f571088d5cfd3e550c383094b47159f3eee8ffa08e64106cdf5e981be3", [:rebar3], [], "hexpm", "f278585650aa581986264638ebf698f8bb19df297f66ad91b18910dfc6e19323"}, - "nimble_options": {:hex, :nimble_options, "0.5.1", "5c166f7669e40333191bea38e3bd3811cc13f459f1e4be49e89128a21b5d8c4d", [:mix], [], "hexpm", "d176cf7baa4fef0ceb301ca3eb8b55bd7de3e45f489c4f8b4f2849f1f114ef3e"}, + "nimble_options": {:hex, :nimble_options, "0.5.2", "42703307b924880f8c08d97719da7472673391905f528259915782bb346e0a1b", [:mix], [], "hexpm", "4da7f904b915fd71db549bcdc25f8d56f378ef7ae07dc1d372cbe72ba950dce0"}, "nimble_parsec": {:hex, :nimble_parsec, "1.2.3", "244836e6e3f1200c7f30cb56733fd808744eca61fd182f731eac4af635cc6d0b", [:mix], [], "hexpm", "c8d789e39b9131acf7b99291e93dae60ab48ef14a7ee9d58c6964f59efb570b0"}, "parse_trans": {:hex, :parse_trans, "3.3.1", "16328ab840cc09919bd10dab29e431da3af9e9e7e7e6f0089dd5a2d2820011d8", [:rebar3], [], "hexpm", "07cd9577885f56362d414e8c4c4e6bdf10d43a8767abb92d24cbe8b24c54888b"}, "picosat_elixir": {:hex, :picosat_elixir, "0.2.3", "bf326d0f179fbb3b706bb2c15fbc367dacfa2517157d090fdfc32edae004c597", [:make, :mix], [{:elixir_make, "~> 0.6", [hex: :elixir_make, repo: "hexpm", optional: false]}], "hexpm", "f76c9db2dec9d2561ffaa9be35f65403d53e984e8cd99c832383b7ab78c16c66"}, @@ -36,10 +36,10 @@ "rss": {:hex, :rss, "0.2.1", "034f2fe5250a490862e692eb34a31bb5c142913c2fe0fb093e1fd982f010e15d", [:mix], [], "hexpm", "1af49c787fc789740a0fa7e0e197a7cb779a63c4eb703f013fea400126eac1f2"}, "sobelow": {:hex, :sobelow, "0.11.1", "23438964486f8112b41e743bbfd402da3e5b296fdc9eacab29914b79c48916dd", [:mix], [{:jason, "~> 1.0", [hex: :jason, repo: "hexpm", optional: false]}], "hexpm", "9897363a7eff96f4809304a90aad819e2ad5e5d24db547af502885146746a53c"}, "sourceror": {:hex, :sourceror, "0.11.2", "549ce48be666421ac60cfb7f59c8752e0d393baa0b14d06271d3f6a8c1b027ab", [:mix], [], "hexpm", "9ab659118896a36be6eec68ff7b0674cba372fc8e210b1e9dc8cf2b55bb70dfb"}, - "spark": {:hex, :spark, "0.2.18", "4f0bc3860682317911d10aee97c4818d3d5ed700f646a87ee1ea6e4a65650f33", [:mix], [{:nimble_options, "~> 0.5", [hex: :nimble_options, repo: "hexpm", optional: false]}, {:sourceror, "~> 0.1", [hex: :sourceror, repo: "hexpm", optional: false]}], "hexpm", "fc2c0bb7556cfa60c97b7bdf9f83ef85b366ba697a006abe3083dccb0a6adf88"}, + "spark": {:hex, :spark, "0.3.9", "8d4eb0eeceaf054e631bf8067b35a274d12a9b43b76f9d4cc91249edc12127dd", [:mix], [{:nimble_options, "~> 0.5", [hex: :nimble_options, repo: "hexpm", optional: false]}, {:sourceror, "~> 0.1", [hex: :sourceror, repo: "hexpm", optional: false]}], "hexpm", "f0f193c0016bb1394d4c60699a7d9f7d53246bf65243480b382333de4b347d28"}, "ssl_verify_fun": {:hex, :ssl_verify_fun, "1.1.6", "cf344f5692c82d2cd7554f5ec8fd961548d4fd09e7d22f5b62482e5aeaebd4b0", [:make, :mix, :rebar3], [], "hexpm", "bdb0d2471f453c88ff3908e7686f86f9be327d065cc1ec16fa4540197ea04680"}, "stream_data": {:hex, :stream_data, "0.5.0", "b27641e58941685c75b353577dc602c9d2c12292dd84babf506c2033cd97893e", [:mix], [], "hexpm", "012bd2eec069ada4db3411f9115ccafa38540a3c78c4c0349f151fc761b9e271"}, - "telemetry": {:hex, :telemetry, "1.1.0", "a589817034a27eab11144ad24d5c0f9fab1f58173274b1e9bae7074af9cbee51", [:rebar3], [], "hexpm", "b727b2a1f75614774cff2d7565b64d0dfa5bd52ba517f16543e6fc7efcc0df48"}, + "telemetry": {:hex, :telemetry, "1.2.1", "68fdfe8d8f05a8428483a97d7aab2f268aaff24b49e0f599faa091f1d4e7f61c", [:rebar3], [], "hexpm", "dad9ce9d8effc621708f99eac538ef1cbe05d6a874dd741de2e689c47feafed5"}, "typable": {:hex, :typable, "0.3.0", "0431e121d124cd26f312123e313d2689b9a5322b15add65d424c07779eaa3ca1", [:mix], [], "hexpm", "880a0797752da1a4c508ac48f94711e04c86156f498065a83d160eef945858f8"}, "unicode_util_compat": {:hex, :unicode_util_compat, "0.7.0", "bc84380c9ab48177092f43ac89e4dfa2c6d62b40b8bd132b1059ecc7232f9a78", [:rebar3], [], "hexpm", "25eee6d67df61960cf6a794239566599b09e17e668d3700247bc498638152521"}, "xml_builder": {:hex, :xml_builder, "2.2.0", "cc5f1eeefcfcde6e90a9b77fb6c490a20bc1b856a7010ce6396f6da9719cbbab", [:mix], [], "hexpm", "9d66d52fb917565d358166a4314078d39ef04d552904de96f8e73f68f64a62c9"}, diff --git a/test/ash_blog_test.exs b/test/ash_blog_test.exs index 0d8d534..f6e31ab 100644 --- a/test/ash_blog_test.exs +++ b/test/ash_blog_test.exs @@ -26,7 +26,7 @@ defmodule AshBlogTest do describe "slug" do test "a slug is auto generated" do - Post.create!("first", "the body") |> IO.inspect() + Post.create!("first", "the body") Post.read!() end end