@@ -299,3 +299,71 @@ def test_create_ticket_omits_empty_deployment_fields(self, mock_zenpy):
299299
300300 self .assertNotIn (127 , field_ids )
301301 self .assertNotIn (128 , field_ids )
302+
303+ @patch ("kitsune.customercare.zendesk.Zenpy" )
304+ @patch ("django.conf.settings.ZENDESK_PRODUCT_FIELD_ID" , 123 )
305+ @patch ("django.conf.settings.ZENDESK_OS_FIELD_ID" , 124 )
306+ @patch ("django.conf.settings.ZENDESK_COUNTRY_FIELD_ID" , 125 )
307+ @patch ("django.conf.settings.ZENDESK_CATEGORY_FIELD_ID" , 126 )
308+ def test_create_ticket_includes_brand_id (self , mock_zenpy ):
309+ """Test that create_ticket sets brand_id on the ticket when provided."""
310+ mock_client = Mock ()
311+ mock_zenpy .return_value = mock_client
312+ mock_client .tickets .create .return_value = Mock (id = 789 )
313+ self .user .profile .zendesk_id = "123"
314+
315+ client = ZendeskClient ()
316+ client .update_user = Mock (return_value = Mock (id = 456 ))
317+
318+ ticket_fields = {
319+ "product" : "firefox" ,
320+ "product_title" : "Firefox" ,
321+ "subject" : "Test subject" ,
322+ "description" : "Test description" ,
323+ "category" : "technical" ,
324+ "os" : "win10" ,
325+ "country" : "US" ,
326+ "ticket_form_id" : 456 ,
327+ "brand_id" : "360000001234" ,
328+ }
329+
330+ client .create_ticket (self .user , ticket_fields )
331+
332+ mock_client .tickets .create .assert_called_once ()
333+ call_args = mock_client .tickets .create .call_args [0 ][0 ]
334+
335+ self .assertEqual (call_args .brand_id , 360000001234 )
336+
337+ @patch ("kitsune.customercare.zendesk.Zenpy" )
338+ @patch ("django.conf.settings.ZENDESK_PRODUCT_FIELD_ID" , 123 )
339+ @patch ("django.conf.settings.ZENDESK_OS_FIELD_ID" , 124 )
340+ @patch ("django.conf.settings.ZENDESK_COUNTRY_FIELD_ID" , 125 )
341+ @patch ("django.conf.settings.ZENDESK_CATEGORY_FIELD_ID" , 126 )
342+ def test_create_ticket_omits_brand_id_when_not_set (self , mock_zenpy ):
343+ """Test that create_ticket does not set brand_id when not provided."""
344+ mock_client = Mock ()
345+ mock_zenpy .return_value = mock_client
346+ mock_client .tickets .create .return_value = Mock (id = 789 )
347+ self .user .profile .zendesk_id = "123"
348+
349+ client = ZendeskClient ()
350+ client .update_user = Mock (return_value = Mock (id = 456 ))
351+
352+ ticket_fields = {
353+ "product" : "firefox" ,
354+ "product_title" : "Firefox" ,
355+ "subject" : "Test subject" ,
356+ "description" : "Test description" ,
357+ "category" : "technical" ,
358+ "os" : "win10" ,
359+ "country" : "US" ,
360+ "ticket_form_id" : 456 ,
361+ "brand_id" : "" ,
362+ }
363+
364+ client .create_ticket (self .user , ticket_fields )
365+
366+ mock_client .tickets .create .assert_called_once ()
367+ call_args = mock_client .tickets .create .call_args [0 ][0 ]
368+
369+ self .assertFalse (hasattr (call_args , "brand_id" ) and call_args .brand_id )
0 commit comments