Add simplecov for test coverage reporting
https://claude.ai/code/session_01QZCJLhbWkr8t4yuTyX6Y3E
diff --git a/.gitignore b/.gitignore
index 2ba718e..d3daa34 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,2 +1,3 @@
db/*.db
sig/generated/
+coverage/
diff --git a/Gemfile b/Gemfile
index bc8d3e5..9a1637a 100644
--- a/Gemfile
+++ b/Gemfile
@@ -23,5 +23,6 @@ group :development do
gem "rake"
gem "rbs-inline", require: false
gem "ruby-lsp"
+ gem "simplecov", require: false
gem "steep"
end
diff --git a/Gemfile.lock b/Gemfile.lock
index 58247b4..bc9e75c 100644
--- a/Gemfile.lock
+++ b/Gemfile.lock
@@ -22,6 +22,7 @@ GEM
concurrent-ruby (1.3.6)
connection_pool (3.0.2)
csv (3.3.5)
+ docile (1.4.1)
drb (2.2.3)
ferrum (0.17.1)
addressable (~> 2.5)
@@ -126,6 +127,12 @@ GEM
logger
sequel (5.101.0)
bigdecimal
+ simplecov (0.22.0)
+ docile (~> 1.1)
+ simplecov-html (~> 0.11)
+ simplecov_json_formatter (~> 0.1)
+ simplecov-html (0.13.2)
+ simplecov_json_formatter (0.1.4)
sqlite3 (2.9.0-aarch64-linux-gnu)
sqlite3 (2.9.0-aarch64-linux-musl)
sqlite3 (2.9.0-arm-linux-gnu)
@@ -198,6 +205,7 @@ DEPENDENCIES
ruby-lsp
sentry-ruby
sequel
+ simplecov
sqlite3
steep
@@ -210,6 +218,7 @@ CHECKSUMS
concurrent-ruby (1.3.6) sha256=6b56837e1e7e5292f9864f34b69c5a2cbc75c0cf5338f1ce9903d10fa762d5ab
connection_pool (3.0.2) sha256=33fff5ba71a12d2aa26cb72b1db8bba2a1a01823559fb01d29eb74c286e62e0a
csv (3.3.5) sha256=6e5134ac3383ef728b7f02725d9872934f523cb40b961479f69cf3afa6c8e73f
+ docile (1.4.1) sha256=96159be799bfa73cdb721b840e9802126e4e03dfc26863db73647204c727f21e
drb (2.2.3) sha256=0b00d6fdb50995fe4a45dea13663493c841112e4068656854646f418fda13373
ferrum (0.17.1) sha256=51d591120fc593e5a13b5d9d6474389f5145bb92a91e36eab147b5d096c8cbe7
ffi (1.17.3-aarch64-linux-gnu) sha256=28ad573df26560f0aedd8a90c3371279a0b2bd0b4e834b16a2baa10bd7a97068
@@ -262,6 +271,9 @@ CHECKSUMS
securerandom (0.4.1) sha256=cc5193d414a4341b6e225f0cb4446aceca8e50d5e1888743fac16987638ea0b1
sentry-ruby (6.3.1) sha256=b2de4e9bada1053a36f4224d75617a2b44d33157e9030b20b86a791358c2e154
sequel (5.101.0) sha256=d2ae3fd997a7c4572e8357918e777869faf90dc19310fcd6332747122aed2b29
+ simplecov (0.22.0) sha256=fe2622c7834ff23b98066bb0a854284b2729a569ac659f82621fc22ef36213a5
+ simplecov-html (0.13.2) sha256=bd0b8e54e7c2d7685927e8d6286466359b6f16b18cb0df47b508e8d73c777246
+ simplecov_json_formatter (0.1.4) sha256=529418fbe8de1713ac2b2d612aa3daa56d316975d307244399fa4838c601b428
sqlite3 (2.9.0-aarch64-linux-gnu) sha256=cfe1e0216f46d7483839719bf827129151e6c680317b99d7b8fc1597a3e13473
sqlite3 (2.9.0-aarch64-linux-musl) sha256=56a35cb2d70779afc2ac191baf2c2148242285ecfed72f9b021218c5c4917913
sqlite3 (2.9.0-arm-linux-gnu) sha256=a19a21504b0d7c8c825fbbf37b358ae316b6bd0d0134c619874060b2eef05435
diff --git a/test/test_helper.rb b/test/test_helper.rb
index cf3e458..b53fc76 100644
--- a/test/test_helper.rb
+++ b/test/test_helper.rb
@@ -1,4 +1,7 @@
# frozen_string_literal: true
+require "simplecov"
+SimpleCov.start
+
ENV["DATABASE_URL"] = ":memory:"
ENV["AUTH_HEADER"] = "Remote-User"