11from datetime import datetime , timedelta , timezone
2- from unittest .mock import Mock , patch
2+ from unittest .mock import Mock , call , patch
33
44import pytest
55from django .conf import settings
@@ -174,6 +174,25 @@ def test_get_or_create_calls_analytics_user_signed_up_when_owner_created(
174174 )
175175 user_signed_up_mock .assert_called_once ()
176176
177+ @patch ("shared.events.amplitude.AmplitudeEventPublisher.publish" )
178+ def test_get_or_create_calls_amplitude_user_created_when_owner_created (
179+ self , amplitude_publish_mock
180+ ):
181+ self .mixin_instance ._get_or_create_owner (
182+ {
183+ "user" : {"id" : 12345 , "key" : "4567" , "login" : "testuser" },
184+ "has_private_access" : False ,
185+ },
186+ self .request ,
187+ )
188+
189+ amplitude_publish_mock .assert_has_calls (
190+ [
191+ call ("User Created" , {"user_ownerid" : 15 }),
192+ call ("set_orgs" , {"user_ownerid" : 15 , "org_ids" : []}),
193+ ]
194+ )
195+
177196 @patch ("services.analytics.AnalyticsService.user_signed_in" )
178197 def test_get_or_create_calls_analytics_user_signed_in_when_owner_not_created (
179198 self , user_signed_in_mock
@@ -192,6 +211,30 @@ def test_get_or_create_calls_analytics_user_signed_in_when_owner_not_created(
192211 )
193212 user_signed_in_mock .assert_called_once ()
194213
214+ @patch ("shared.events.amplitude.AmplitudeEventPublisher.publish" )
215+ def test_get_or_create_calls_amplitude_user_logged_in_when_owner_not_created (
216+ self , amplitude_publish_mock
217+ ):
218+ owner = OwnerFactory (service_id = 89 , service = "github" , organizations = [1 , 2 ])
219+ self .mixin_instance ._get_or_create_owner (
220+ {
221+ "user" : {
222+ "id" : owner .service_id ,
223+ "key" : "02or0sa" ,
224+ "login" : owner .username ,
225+ },
226+ "has_private_access" : owner .private_access ,
227+ },
228+ self .request ,
229+ )
230+
231+ amplitude_publish_mock .assert_has_calls (
232+ [
233+ call ("User Logged in" , {"user_ownerid" : 16 }),
234+ call ("set_orgs" , {"user_ownerid" : 16 , "org_ids" : [1 , 2 ]}),
235+ ]
236+ )
237+
195238 @override_settings (IS_ENTERPRISE = False )
196239 @patch ("services.analytics.AnalyticsService.user_signed_in" )
197240 def test_set_marketing_tags_on_cookies (self , user_signed_in_mock ):
0 commit comments