mirror of
https://github.com/plausible/analytics.git
synced 2024-09-11 09:56:02 +03:00
* Fix typo in test name * Update test_helper, enable experimental_session_count together with experimental_reduced_joins * Return session in each time bucket its active in for hourly/minute timeseries The behavior is behind experimental_session_count flag This results in more accurate visitor showing compared to previous approach of showing each user only active the _last_ time they did a pageview. Were not doing this for monthly/weekly graphs due to query performance cost and it having a small effect there. See also https://3.basecamp.com/5308029/buckets/35611491/messages/7085680123 * Add tests for new behavior Note the new behavior mimics the old one precisely, these tests fail if only experimental_reduced_joins is on, but not experimental_session_count * Type erasure * Dead comment remove * Expected_plot change
34 lines
1.2 KiB
Elixir
34 lines
1.2 KiB
Elixir
if not Enum.empty?(Path.wildcard("lib/**/*_test.exs")) do
|
|
raise "Oops, test(s) found in `lib/` directory. Move them to `test/`."
|
|
end
|
|
|
|
{:ok, _} = Application.ensure_all_started(:ex_machina)
|
|
Mox.defmock(Plausible.HTTPClient.Mock, for: Plausible.HTTPClient.Interface)
|
|
Application.ensure_all_started(:double)
|
|
FunWithFlags.enable(:imports_exports)
|
|
FunWithFlags.enable(:csv_imports_exports)
|
|
|
|
# Temporary flag to test `experimental_reduced_joins` flag on all tests.
|
|
if System.get_env("TEST_EXPERIMENTAL_REDUCED_JOINS") == "1" do
|
|
FunWithFlags.enable(:experimental_reduced_joins)
|
|
FunWithFlags.enable(:experimental_session_count)
|
|
else
|
|
FunWithFlags.disable(:experimental_reduced_joins)
|
|
FunWithFlags.disable(:experimental_session_count)
|
|
end
|
|
|
|
Ecto.Adapters.SQL.Sandbox.mode(Plausible.Repo, :manual)
|
|
|
|
# warn about minio if it's included in tests but not running
|
|
if :minio in Keyword.fetch!(ExUnit.configuration(), :include) do
|
|
Plausible.TestUtils.ensure_minio()
|
|
end
|
|
|
|
if Mix.env() == :ce_test do
|
|
IO.puts("Test mode: Communnity Edition")
|
|
ExUnit.configure(exclude: [:slow, :minio, :ee_only])
|
|
else
|
|
IO.puts("Test mode: Enterprise Edition")
|
|
ExUnit.configure(exclude: [:slow, :minio, :ce_build_only])
|
|
end
|