From f49ccae17cd4af5fea30864a3fe4f36f0c32d2c8 Mon Sep 17 00:00:00 2001 From: CorneliaKelinske Date: Fri, 2 Jun 2023 10:59:34 -0700 Subject: [PATCH] handle nil return (#18) --- lib/cache/term_encoder.ex | 1 + test/cache/redis_json_test.exs | 4 ++++ 2 files changed, 5 insertions(+) diff --git a/lib/cache/term_encoder.ex b/lib/cache/term_encoder.ex index 67eb660..9798ddd 100644 --- a/lib/cache/term_encoder.ex +++ b/lib/cache/term_encoder.ex @@ -62,6 +62,7 @@ defmodule Cache.TermEncoder do value end + def decode_json(nil), do: nil def decode_json(json) do case Jason.decode(json) do {:ok, data} -> data diff --git a/test/cache/redis_json_test.exs b/test/cache/redis_json_test.exs index a5a4043..961608b 100644 --- a/test/cache/redis_json_test.exs +++ b/test/cache/redis_json_test.exs @@ -37,6 +37,10 @@ defmodule Cache.RedisJSONTest do "some_map" => %{"one" => 1, "two" => 2, "three" => 3, "four" => 4} }} === RedisCache.json_get(key) end + + test "returns :ok and nil if key not found" do + assert {:ok, nil} === RedisCache.json_get("non_existing") + end end describe "&json_get/2" do