defmodule PlausibleWeb.StatsViewTest do use PlausibleWeb.ConnCase, async: true alias PlausibleWeb.StatsView doctest PlausibleWeb.StatsView describe "large_number_format" do test "numbers under 1000 stay the same" do assert StatsView.large_number_format(100) == "100" end test "1000 becomes 1k" do assert StatsView.large_number_format(1000) == "1k" end test "1111 becomes 1.1k" do assert StatsView.large_number_format(1111) == "1.1k" end test "10_000 becomes 10k" do assert StatsView.large_number_format(10_000) == "10k" end test "15_993 becomes 15.9k" do assert StatsView.large_number_format(15_923) == "15.9k" end test "wat" do assert StatsView.large_number_format(49012) == "49k" end test "999_999 becomes 999k" do assert StatsView.large_number_format(999_999) == "999k" end test "1_000_000 becomes 1m" do assert StatsView.large_number_format(1_000_000) == "1M" end test "2_590_000 becomes 2.5m" do assert StatsView.large_number_format(2_590_000) == "2.5M" end test "99_999_999 becomes 99.9m" do assert StatsView.large_number_format(99_999_999) == "99.9M" end test "101_000_000 becomes 101m" do assert StatsView.large_number_format(101_000_000) == "101M" end test "2_500_000_000 becomes 2.5bn" do assert StatsView.large_number_format(2_500_000_000) == "2.5B" end test "25_500_000_000 becomes 25bn" do assert StatsView.large_number_format(25_500_000_000) == "25.5B" end test "250_500_000_000 becomes 250bn" do assert StatsView.large_number_format(250_500_000_000) == "250B" end end end