From 0264d64ae2cfcdba4cddd7be8277545fd45ace6d Mon Sep 17 00:00:00 2001 From: Gagandeep Bhatia Date: Tue, 23 Jul 2024 14:40:06 +0200 Subject: [PATCH] Adds test for date ranges --- .../v1/activity_log_controller_test.exs | 37 +++++++++++++++++++ 1 file changed, 37 insertions(+) diff --git a/test/trento_web/controllers/v1/activity_log_controller_test.exs b/test/trento_web/controllers/v1/activity_log_controller_test.exs index a1850b3a7a..cf17d405e4 100644 --- a/test/trento_web/controllers/v1/activity_log_controller_test.exs +++ b/test/trento_web/controllers/v1/activity_log_controller_test.exs @@ -148,5 +148,42 @@ defmodule TrentoWeb.V1.ActivityLogControllerTest do assert length(resp["data"]) == 20 assert_schema(resp, "ActivityLog", api_spec) end + + test "should return valid response of entries provided with date ranges params", + %{ + conn: conn, + api_spec: api_spec + } do + now = DateTime.utc_now() + now_minus_30d = DateTime.add(now, -30, :day) + now_minus_60d = DateTime.add(now, -60, :day) + now_minus_90d = DateTime.add(now, -90, :day) + _inserted_records = insert_list(2, :activity_log_entry, %{inserted_at: now}) + _inserted_records = insert_list(4, :activity_log_entry, %{inserted_at: now_minus_30d}) + _inserted_records = insert_list(6, :activity_log_entry, %{inserted_at: now_minus_60d}) + _inserted_records = insert_list(8, :activity_log_entry, %{inserted_at: now_minus_90d}) + + resp = + conn + |> get("/api/v1/activity_log?from_date=#{now}&to_date=#{now_minus_30d}") + |> json_response(200) + + assert length(resp["data"]) == 6 + + resp = + conn + |> get("/api/v1/activity_log?from_date=#{now}&to_date=#{now_minus_60d}") + |> json_response(200) + + assert length(resp["data"]) == 12 + + resp = + conn + |> get("/api/v1/activity_log?from_date=#{now_minus_30d}&to_date=#{now_minus_90d}") + |> json_response(200) + + assert length(resp["data"]) == 18 + assert_schema(resp, "ActivityLog", api_spec) + end end end