add CI pipeline with credo and dialyzer

mix ci alias: compile --warning-as-errors, format --check-formatted,
credo, dialyzer, test. Credo configured with sensible defaults.
Dialyzer ignore file for false positives (Stripe types, Mix tasks,
ExUnit internals). Credo fixes: map_join, filter consolidation,
nesting extraction, cond→if simplification.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
jamey
2026-02-08 15:19:42 +00:00
parent 518da36c8f
commit eaa4bbb3fa
16 changed files with 328 additions and 59 deletions

View File

@@ -8,7 +8,7 @@ defmodule SimpleshopTheme.Theme.PreviewDataTest do
products = PreviewData.products()
assert is_list(products)
assert length(products) > 0
assert products != []
end
test "each product has required fields" do
@@ -62,7 +62,7 @@ defmodule SimpleshopTheme.Theme.PreviewDataTest do
products = PreviewData.products()
on_sale_products = Enum.filter(products, & &1.on_sale)
assert length(on_sale_products) > 0
assert on_sale_products != []
end
test "on-sale products have compare_at_price" do
@@ -80,7 +80,7 @@ defmodule SimpleshopTheme.Theme.PreviewDataTest do
cart_items = PreviewData.cart_items()
assert is_list(cart_items)
assert length(cart_items) > 0
assert cart_items != []
end
test "each cart item has required fields" do
@@ -120,7 +120,7 @@ defmodule SimpleshopTheme.Theme.PreviewDataTest do
testimonials = PreviewData.testimonials()
assert is_list(testimonials)
assert length(testimonials) > 0
assert testimonials != []
end
test "each testimonial has required fields" do
@@ -160,7 +160,7 @@ defmodule SimpleshopTheme.Theme.PreviewDataTest do
categories = PreviewData.categories()
assert is_list(categories)
assert length(categories) > 0
assert categories != []
end
test "each category has required fields" do