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,27 @@ 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+ owner = Owner .objects .get (service_id = 12345 , username = "testuser" )
190+
191+ amplitude_publish_mock .assert_has_calls (
192+ [
193+ call ("User Created" , {"user_ownerid" : owner .ownerid }),
194+ call ("set_orgs" , {"user_ownerid" : owner .ownerid , "org_ids" : []}),
195+ ]
196+ )
197+
177198 @patch ("services.analytics.AnalyticsService.user_signed_in" )
178199 def test_get_or_create_calls_analytics_user_signed_in_when_owner_not_created (
179200 self , user_signed_in_mock
@@ -192,6 +213,30 @@ def test_get_or_create_calls_analytics_user_signed_in_when_owner_not_created(
192213 )
193214 user_signed_in_mock .assert_called_once ()
194215
216+ @patch ("shared.events.amplitude.AmplitudeEventPublisher.publish" )
217+ def test_get_or_create_calls_amplitude_user_logged_in_when_owner_not_created (
218+ self , amplitude_publish_mock
219+ ):
220+ owner = OwnerFactory (service_id = 89 , service = "github" , organizations = [1 , 2 ])
221+ self .mixin_instance ._get_or_create_owner (
222+ {
223+ "user" : {
224+ "id" : owner .service_id ,
225+ "key" : "02or0sa" ,
226+ "login" : owner .username ,
227+ },
228+ "has_private_access" : owner .private_access ,
229+ },
230+ self .request ,
231+ )
232+
233+ amplitude_publish_mock .assert_has_calls (
234+ [
235+ call ("User Logged in" , {"user_ownerid" : owner .ownerid }),
236+ call ("set_orgs" , {"user_ownerid" : owner .ownerid , "org_ids" : [1 , 2 ]}),
237+ ]
238+ )
239+
195240 @override_settings (IS_ENTERPRISE = False )
196241 @patch ("services.analytics.AnalyticsService.user_signed_in" )
197242 def test_set_marketing_tags_on_cookies (self , user_signed_in_mock ):
0 commit comments