Skip to content

Commit 7cbc03c

Browse files
committed
Update tests to include percentages
1 parent e0b12c1 commit 7cbc03c

5 files changed

Lines changed: 383 additions & 220 deletions

File tree

test/plausible_web/controllers/api/stats_controller/cities_test.exs

Lines changed: 35 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -38,8 +38,20 @@ defmodule PlausibleWeb.Api.StatsController.CitiesTest do
3838
conn = get(conn, "/api/stats/#{site.domain}/cities?period=day")
3939

4040
assert json_response(conn, 200)["results"] == [
41-
%{"code" => 588_409, "country_flag" => "🇪🇪", "name" => "Tallinn", "visitors" => 3},
42-
%{"code" => 591_632, "country_flag" => "🇪🇪", "name" => "Kärdla", "visitors" => 2}
41+
%{
42+
"code" => 588_409,
43+
"country_flag" => "🇪🇪",
44+
"name" => "Tallinn",
45+
"visitors" => 3,
46+
"percentage" => 60.0
47+
},
48+
%{
49+
"code" => 591_632,
50+
"country_flag" => "🇪🇪",
51+
"name" => "Kärdla",
52+
"visitors" => 2,
53+
"percentage" => 40.0
54+
}
4355
]
4456
end
4557

@@ -48,7 +60,13 @@ defmodule PlausibleWeb.Api.StatsController.CitiesTest do
4860
conn = get(conn, "/api/stats/#{site.domain}/cities?period=day&filters=#{filters}")
4961

5062
assert json_response(conn, 200)["results"] == [
51-
%{"code" => 591_632, "country_flag" => "🇪🇪", "name" => "Kärdla", "visitors" => 2}
63+
%{
64+
"code" => 591_632,
65+
"country_flag" => "🇪🇪",
66+
"name" => "Kärdla",
67+
"visitors" => 2,
68+
"percentage" => 100.0
69+
}
5270
]
5371
end
5472

@@ -62,8 +80,20 @@ defmodule PlausibleWeb.Api.StatsController.CitiesTest do
6280
conn = get(conn, "/api/stats/#{site.domain}/cities?period=day&with_imported=true")
6381

6482
assert json_response(conn, 200)["results"] == [
65-
%{"code" => 588_409, "country_flag" => "🇪🇪", "name" => "Tallinn", "visitors" => 4},
66-
%{"code" => 591_632, "country_flag" => "🇪🇪", "name" => "Kärdla", "visitors" => 2}
83+
%{
84+
"code" => 588_409,
85+
"country_flag" => "🇪🇪",
86+
"name" => "Tallinn",
87+
"visitors" => 4,
88+
"percentage" => 66.7
89+
},
90+
%{
91+
"code" => 591_632,
92+
"country_flag" => "🇪🇪",
93+
"name" => "Kärdla",
94+
"visitors" => 2,
95+
"percentage" => 33.3
96+
}
6797
]
6898
end
6999

test/plausible_web/controllers/api/stats_controller/imported_test.exs

Lines changed: 32 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -280,11 +280,11 @@ defmodule PlausibleWeb.Api.StatsController.ImportedTest do
280280
|> Enum.sort()
281281

282282
assert results == [
283-
%{"name" => "A Nice Newsletter", "visitors" => 1},
284-
%{"name" => "Direct / None", "visitors" => 1},
285-
%{"name" => "DuckDuckGo", "visitors" => 2},
286-
%{"name" => "Google", "visitors" => 4},
287-
%{"name" => "Twitter", "visitors" => 1}
283+
%{"name" => "A Nice Newsletter", "visitors" => 1, "percentage" => 33.3},
284+
%{"name" => "Direct / None", "visitors" => 1, "percentage" => 33.3},
285+
%{"name" => "DuckDuckGo", "visitors" => 2, "percentage" => 66.7},
286+
%{"name" => "Google", "visitors" => 4, "percentage" => 133.3},
287+
%{"name" => "Twitter", "visitors" => 1, "percentage" => 33.3}
288288
]
289289
end
290290

@@ -415,10 +415,10 @@ defmodule PlausibleWeb.Api.StatsController.ImportedTest do
415415
|> Enum.sort()
416416

417417
assert results == [
418-
%{"name" => "(not set)", "visitors" => 1},
419-
%{"name" => "Direct", "visitors" => 2},
420-
%{"name" => "Organic Search", "visitors" => 3},
421-
%{"name" => "Paid Search", "visitors" => 2}
418+
%{"name" => "(not set)", "visitors" => 1, "percentage" => 33.3},
419+
%{"name" => "Direct", "visitors" => 2, "percentage" => 66.7},
420+
%{"name" => "Organic Search", "visitors" => 3, "percentage" => 100.0},
421+
%{"name" => "Paid Search", "visitors" => 2, "percentage" => 66.7}
422422
]
423423
end
424424

@@ -492,8 +492,9 @@ defmodule PlausibleWeb.Api.StatsController.ImportedTest do
492492
%{
493493
"bounce_rate" => 100.0,
494494
"name" => "social",
495-
"visit_duration" => 20,
496-
"visitors" => 3
495+
"visit_duration" => 20.0,
496+
"visitors" => 3,
497+
"percentage" => 100.0
497498
}
498499
]
499500
end
@@ -581,13 +582,15 @@ defmodule PlausibleWeb.Api.StatsController.ImportedTest do
581582
"name" => "august",
582583
"visitors" => 2,
583584
"bounce_rate" => 50.0,
584-
"visit_duration" => 50.0
585+
"visit_duration" => 50.0,
586+
"percentage" => 50.0
585587
},
586588
%{
587589
"name" => "profile",
588590
"visitors" => 2,
589591
"bounce_rate" => 100.0,
590-
"visit_duration" => 50.0
592+
"visit_duration" => 50.0,
593+
"percentage" => 50.0
591594
}
592595
]
593596
end
@@ -676,13 +679,15 @@ defmodule PlausibleWeb.Api.StatsController.ImportedTest do
676679
"name" => "Sweden",
677680
"visitors" => 3,
678681
"bounce_rate" => 67.0,
679-
"visit_duration" => 33.0
682+
"visit_duration" => 33.0,
683+
"percentage" => 60.0
680684
},
681685
%{
682686
"name" => "oat milk",
683687
"visitors" => 2,
684688
"bounce_rate" => 100.0,
685-
"visit_duration" => 50.0
689+
"visit_duration" => 50.0,
690+
"percentage" => 40.0
686691
}
687692
]
688693
end
@@ -770,13 +775,15 @@ defmodule PlausibleWeb.Api.StatsController.ImportedTest do
770775
"name" => "ad",
771776
"visitors" => 2,
772777
"bounce_rate" => 100.0,
773-
"visit_duration" => 50.0
778+
"visit_duration" => 50.0,
779+
"percentage" => 50.0
774780
},
775781
%{
776782
"name" => "blog",
777783
"visitors" => 2,
778784
"bounce_rate" => 50.0,
779-
"visit_duration" => 50.0
785+
"visit_duration" => 50.0,
786+
"percentage" => 50.0
780787
}
781788
]
782789
end
@@ -877,20 +884,22 @@ defmodule PlausibleWeb.Api.StatsController.ImportedTest do
877884

878885
assert json_response(conn, 200)["results"] == [
879886
%{
880-
"bounce_rate" => 0,
887+
"bounce_rate" => 0.0,
881888
"time_on_page" => 60,
882889
"visitors" => 3,
883890
"pageviews" => 4,
884891
"scroll_depth" => nil,
885-
"name" => "/some-other-page"
892+
"name" => "/some-other-page",
893+
"percentage" => 300.0
886894
},
887895
%{
888896
"bounce_rate" => 25.0,
889897
"time_on_page" => 700,
890898
"visitors" => 2,
891899
"pageviews" => 2,
892900
"scroll_depth" => nil,
893-
"name" => "/"
901+
"name" => "/",
902+
"percentage" => 200.0
894903
}
895904
]
896905
end
@@ -960,12 +969,13 @@ defmodule PlausibleWeb.Api.StatsController.ImportedTest do
960969
)
961970

962971
assert json_response(conn, 200)["results"] == [
963-
%{"code" => 588_335, "name" => "Tartu", "visitors" => 1, "country_flag" => "🇪🇪"},
972+
%{"code" => 588_335, "name" => "Tartu", "visitors" => 1, "country_flag" => "🇪🇪", "percentage" => 50.0},
964973
%{
965974
"code" => 2_650_225,
966975
"name" => "Edinburgh",
967976
"visitors" => 1,
968-
"country_flag" => "🇬🇧"
977+
"country_flag" => "🇬🇧",
978+
"percentage" => 50.0
969979
}
970980
]
971981
end

0 commit comments

Comments
 (0)