#!/usr/bin/env ruby
# Run the plugin's tests inside the Redmine 7 test image. Pass a test file to run just that one.
#   bin/test                                   all integration tests
#   bin/test test/integration/todo_page_test.rb
Dir.chdir(File.expand_path("..", __dir__))

target = ARGV.first
runner = if target
  "bundle exec ruby -Itest plugins/redmine_rubylode_todo/#{target}"
else
  "bundle exec rake redmine:plugins:test:integration NAME=redmine_rubylode_todo"
end

inside = <<~SH
  cd /usr/src/redmine &&
  printf 'test:\\n  adapter: sqlite3\\n  database: /tmp/redmine_test.sqlite3\\n' > config/database.yml &&
  bundle exec rake generate_secret_token db:migrate redmine:plugins:migrate >/dev/null &&
  #{runner}
SH

exec "docker", "compose", "--profile", "test", "run", "--rm", "test", "sh", "-c", inside
