Files
plantid-discord-bot/test/metrics_test.exs
T
2025-01-13 15:57:33 +01:00

70 lines
1.8 KiB
Elixir

defmodule PlantIdDiscordBot.MetricsTest do
use ExUnit.Case
doctest PlantIdDiscordBot.Metrics
alias PlantIdDiscordBot.Metrics
test "put multiple entries into state" do
Metrics.Requests.reset()
Metrics.increase_request_count(123, "Test Guild 1")
Metrics.increase_request_count(321, "Test Guild 2")
keys =
Metrics.requests()
|> Map.keys()
assert length(keys) == 2
%Metrics.Requests{
guild_id: guild_id1,
guild_name: guild_name1,
first_request_at: first_request_at1,
last_request_at: last_request_at1,
total_requests: total_requests1
} =
Metrics.requests(123)
assert guild_id1 == 123
assert guild_name1 == "Test Guild 1"
assert %DateTime{} = first_request_at1
assert %DateTime{} = last_request_at1
assert total_requests1 == 1
%Metrics.Requests{
guild_id: guild_id2,
guild_name: guild_name2,
first_request_at: first_request_at2,
last_request_at: last_request_at2,
total_requests: total_requests2
} =
Metrics.requests(321)
assert guild_id2 == 321
assert guild_name2 == "Test Guild 2"
assert %DateTime{} = first_request_at2
assert %DateTime{} = last_request_at2
assert total_requests2 == 1
end
test "update requests for a guild" do
Metrics.Requests.reset()
Metrics.increase_request_count(123, "Test Guild 1")
Metrics.increase_request_count(123, "Test Guild 1")
%Metrics.Requests{
guild_id: guild_id,
guild_name: guild_name,
first_request_at: first_request_at,
last_request_at: last_request_at,
total_requests: total_requests
} =
Metrics.requests(123)
assert guild_id == 123
assert guild_name == "Test Guild 1"
assert %DateTime{} = first_request_at
assert %DateTime{} = last_request_at
assert total_requests == 2
end
end