@@ -10,8 +10,8 @@ defmodule PeekAppSDK.UI.Odyssey.ProductPickerTest do
1010 form = to_form ( % { "whitelisted_products" => nil } , as: :campaign )
1111
1212 products = [
13- % { id: "p1" , name: "Kayak Tour" , color_hex : "#FF5733" } ,
14- % { id: "p2" , name: "Snorkel Trip" , color_hex : "#33FF57" }
13+ % { id: "p1" , name: "Kayak Tour" , color : "#FF5733" } ,
14+ % { id: "p2" , name: "Snorkel Trip" , color : "#33FF57" }
1515 ]
1616
1717 html =
@@ -36,8 +36,8 @@ defmodule PeekAppSDK.UI.Odyssey.ProductPickerTest do
3636 form = to_form ( % { "whitelisted_products" => nil } , as: :campaign )
3737
3838 products = [
39- % { id: "p1" , name: "Kayak Tour" , color_hex : "#FF5733" } ,
40- % { id: "p2" , name: "Snorkel Trip" , color_hex : "#33FF57" }
39+ % { id: "p1" , name: "Kayak Tour" , color : "#FF5733" } ,
40+ % { id: "p2" , name: "Snorkel Trip" , color : "#33FF57" }
4141 ]
4242
4343 html =
@@ -86,7 +86,7 @@ defmodule PeekAppSDK.UI.Odyssey.ProductPickerTest do
8686 test "renders disabled state" do
8787 form = to_form ( % { "products" => nil } , as: :test )
8888
89- products = [ % { id: "p1" , name: "Tour" , color_hex : "#000" } ]
89+ products = [ % { id: "p1" , name: "Tour" , color : "#000" } ]
9090
9191 html =
9292 render_component (
@@ -158,8 +158,8 @@ defmodule PeekAppSDK.UI.Odyssey.ProductPickerTest do
158158 form = to_form ( % { "products" => nil } , as: :test )
159159
160160 products = [
161- % { id: "p1" , name: "Tour A" , color_hex : "#111" } ,
162- % { id: "p2" , name: "Tour B" , color_hex : "#222" }
161+ % { id: "p1" , name: "Tour A" , color : "#111" } ,
162+ % { id: "p2" , name: "Tour B" , color : "#222" }
163163 ]
164164
165165 html =
@@ -184,8 +184,8 @@ defmodule PeekAppSDK.UI.Odyssey.ProductPickerTest do
184184 form = to_form ( % { "products" => field_value } , as: :test )
185185
186186 products = [
187- % { id: "p1" , name: "Tour A" , color_hex : "#111" } ,
188- % { id: "p2" , name: "Tour B" , color_hex : "#222" }
187+ % { id: "p1" , name: "Tour A" , color : "#111" } ,
188+ % { id: "p2" , name: "Tour B" , color : "#222" }
189189 ]
190190
191191 html =
@@ -207,8 +207,8 @@ defmodule PeekAppSDK.UI.Odyssey.ProductPickerTest do
207207 form = to_form ( % { "products" => field_value } , as: :test )
208208
209209 products = [
210- % { id: "p1" , name: "Tour A" , color_hex : "#111" } ,
211- % { id: "p2" , name: "Tour B" , color_hex : "#222" }
210+ % { id: "p1" , name: "Tour A" , color : "#111" } ,
211+ % { id: "p2" , name: "Tour B" , color : "#222" }
212212 ]
213213
214214 html =
@@ -231,7 +231,7 @@ defmodule PeekAppSDK.UI.Odyssey.ProductPickerTest do
231231 ]
232232
233233 form = to_form ( % { "products" => changeset_like } , as: :test )
234- products = [ % { id: "p1" , name: "A" , color_hex : "#111" } , % { id: "p2" , name: "B" , color_hex : "#222" } ]
234+ products = [ % { id: "p1" , name: "A" , color : "#111" } , % { id: "p2" , name: "B" , color : "#222" } ]
235235
236236 html =
237237 render_component (
@@ -247,66 +247,6 @@ defmodule PeekAppSDK.UI.Odyssey.ProductPickerTest do
247247 end
248248 end
249249
250- describe "custom key attrs" do
251- test "uses custom color_key" do
252- form = to_form ( % { "p" => nil } , as: :t )
253- products = [ % { id: "1" , name: "A" , hex: "#AA0000" } ]
254-
255- html =
256- render_component (
257- fn assigns ->
258- ~H"""
259- < . odyssey_product_picker field = { @ form [ :p ] } products = { @ products } selected_ids = { [ "1" ] } color_key = { :hex } />
260- """
261- end ,
262- % { form: form , products: products }
263- )
264-
265- assert html =~ "background-color: #AA0000"
266- end
267-
268- test "uses custom id_key and name_key" do
269- form = to_form ( % { "p" => nil } , as: :t )
270- products = [ % { product_id: "x1" , title: "Kayak" , color_hex: "#000" } ]
271-
272- html =
273- render_component (
274- fn assigns ->
275- ~H"""
276- < . odyssey_product_picker
277- field = { @ form [ :p ] }
278- products = { @ products }
279- selected_ids = { [ "x1" ] }
280- id_key = { :product_id }
281- name_key = { :title }
282- />
283- """
284- end ,
285- % { form: form , products: products }
286- )
287-
288- assert html =~ "Kayak"
289- assert html =~ "data-product-id=\" x1\" "
290- end
291-
292- test "falls back to #888888 when color key is missing" do
293- form = to_form ( % { "p" => nil } , as: :t )
294- products = [ % { id: "1" , name: "A" } ]
295-
296- html =
297- render_component (
298- fn assigns ->
299- ~H"""
300- < . odyssey_product_picker field = { @ form [ :p ] } products = { @ products } selected_ids = { [ "1" ] } />
301- """
302- end ,
303- % { form: form , products: products }
304- )
305-
306- assert html =~ "background-color: #888888"
307- end
308- end
309-
310250 describe "extract_ids_from_field/1" do
311251 alias PeekAppSDK.UI.Odyssey.ProductPicker
312252
0 commit comments