       assert :ok = validate(map)
     end
 
-    test "not a map" do
+    test "fails when the given argument is not a map" do
       assert {:invalid, _} = validate(:foo)
     end
 
-    test "missing one required key" do
+    test "fails when only one required key is missing" do
       map = Map.delete(@base_map, :base_url)
       {:invalid, msg} = validate(map)
 
       assert String.starts_with?(msg, "missing required property:")
     end
 
-    test "missing multiple required keys" do
+    test "fails when multiple required keys are missing" do
       map = Map.drop(@base_map, [:base_url, :site_description])
       {:invalid, msg} = validate(map)
 
       assert String.starts_with?(msg, "missing required properties:")
     end
 
-    test "one extra key" do
+    test "fails when there is one extra key" do
       map = Map.put(@base_map, :foo, :bar)
       {:invalid, msg} = validate(map)
 
       assert String.starts_with?(msg, "unknown property:")
     end
 
-    test "multiple extra keys" do
+    test "fails when there are multiple extra keys" do
       map =
         @base_map
         |> Map.put(:foo, :bar)

          pagination: true,
          posts_per_page: 10,
          preview_length: 200,
          plugins: [Serum.TestPlugin1, Serum.TestPlugin2],
          theme: Serum.TestTheme
        })

  }

  describe "validate/1" do
    test "validates a map containing required keys only" do
      assert :ok = validate(@base_map)
    end

    test "validates a map containing optional keys" do
      map =
        Map.merge(@base_map, %{
          server_root: "https://example.com/test",
