     assert json_response(conn, 200)["data"] == []
   end
 
-  @tag :skip
-  test "shows chosen resource", %{conn: conn} do
-    transaction = Repo.insert!(struct(Transaction, @valid_attrs))
+  test "shows chosen resource", %{conn: conn, attributes: attributes} do
+    transaction = Repo.insert!(struct(Transaction, attributes))
+
     conn = get conn, transaction_path(conn, :show, transaction)
-    Enum.each(~w(name occurred_on amount account_id tag_id), fn(param) ->
-      assert json_response(conn, 200)["data"][param] == transaction[param]
+    received = json_response(conn, 200)["data"]
+
+    Enum.each(~w(name account_id tag_id), fn(param) ->
+      actual = received[param]
+      expected = Map.get(transaction, String.to_atom(param))
+      message = "Failure matching on #{param}. Got(#{actual}), but Expected(#{expected})"
+
+      assert(expected == actual, message)
     end)
+
+    assert(Ecto.Date.to_iso8601(transaction.occurred_on) == received["occurred_on"])
+    assert(Decimal.to_string(transaction.amount) == received["amount"])
   end
 
   test "renders page not found when id is nonexistent", %{conn: conn} do

      name: Faker.Lorem.sentence(%Range{first: 1, last: 10}),
      type: Enum.random(BalanceSheet.Enumerations.AccountType.__valid_values__())
    }))

    {:ok, conn: new_conn, account: account}
  end

  test "lists all entries on index", context do

    end
  end

  test "creates and renders resource when data is valid", %{conn: conn, attributes: attributes} do
    conn = post conn, transaction_path(conn, :create), transaction: attributes
    assert json_response(conn, 201)["data"]["id"]
    assert Repo.get_by(Transaction, attributes)
  end

  test "does not create resource and renders errors when data is invalid", %{conn: conn} do
