@@ -122,6 +122,70 @@ defmodule LogflareWeb.SearchLive.LogEventComponentsTest do
122122 # Assert logs list ul is NOT rendered when search_op_log_events is nil
123123 refute html =~ ~s| id="logs-list"|
124124 end
125+
126+ test "renders placeholder for log events with nil event_message" , % {
127+ source: source ,
128+ lql_rules: lql_rules
129+ } do
130+ log_event_without_message = % Logflare.LogEvent {
131+ id: Ecto.UUID . generate ( ) ,
132+ body: % {
133+ "timestamp" => System . system_time ( :microsecond ) ,
134+ "id" => Ecto.UUID . generate ( ) ,
135+ "metadata" => % { "user_id" => 456 }
136+ } ,
137+ source_id: source . id ,
138+ valid: true
139+ }
140+
141+ search_op_log_events = % { rows: [ log_event_without_message ] }
142+
143+ html =
144+ render_component ( & LogEventComponents . results_list / 1 , % {
145+ @ default_attrs
146+ | search_op: % { source: source , lql_rules: lql_rules , search_timezone: "Etc/UTC" } ,
147+ search_op_log_events: search_op_log_events
148+ } )
149+
150+ assert html =~ "(empty event message)"
151+ assert html =~ "tw-italic"
152+ assert html =~ "tw-text-gray-500"
153+ end
154+
155+ test "renders both normal and nil event_message log events" , % {
156+ source: source ,
157+ lql_rules: lql_rules
158+ } do
159+ normal_log_event =
160+ build ( :log_event ,
161+ message: "Normal log message" ,
162+ metadata: % { user_id: 123 } ,
163+ source: source
164+ )
165+
166+ log_event_without_message = % Logflare.LogEvent {
167+ id: Ecto.UUID . generate ( ) ,
168+ body: % {
169+ "timestamp" => System . system_time ( :microsecond ) ,
170+ "id" => Ecto.UUID . generate ( ) ,
171+ "metadata" => % { "user_id" => 789 }
172+ } ,
173+ source_id: source . id ,
174+ valid: true
175+ }
176+
177+ search_op_log_events = % { rows: [ normal_log_event , log_event_without_message ] }
178+
179+ html =
180+ render_component ( & LogEventComponents . results_list / 1 , % {
181+ @ default_attrs
182+ | search_op: % { source: source , lql_rules: lql_rules , search_timezone: "Etc/UTC" } ,
183+ search_op_log_events: search_op_log_events
184+ } )
185+
186+ assert html =~ "Normal log message"
187+ assert html =~ "(empty event message)"
188+ end
125189 end
126190
127191 describe "selected_fields/1" do
0 commit comments