@@ -23,6 +23,24 @@ def test_user_added_to_discord_server(client_with_user, logged_user, mocker):
2323 assert discord_user .discord_email == discord_user_api_response ['email' ]
2424
2525
26+ def test_user_missing_email_added_to_discord_server (client_with_user , logged_user , mocker ):
27+ mocker .patch (
28+ 'pythonpro.discord.views.add_user_to_discord_server' ,
29+ return_value = {'user' : discord_user_missing_email_api_response }
30+ )
31+ subscription_type = baker .make (SubscriptionType , has_discord_access = True )
32+ baker .make (
33+ Subscription ,
34+ status = Subscription .Status .ACTIVE ,
35+ subscriber = logged_user ,
36+ subscription_types = [subscription_type ]
37+ )
38+ client_with_user .get (reverse ('discord:autorize' ), data = {'code' : 'xpto' })
39+ discord_user_id = discord_user_api_response ['id' ]
40+ discord_user = DiscordUser .objects .get (discord_id = discord_user_id )
41+ assert discord_user .discord_email == logged_user .email
42+
43+
2644def test_user_updated_to_discord_server (client_with_user , logged_user , mocker ):
2745 mocker .patch (
2846 'pythonpro.discord.views.add_user_to_discord_server' ,
@@ -71,6 +89,22 @@ def test_user_without_subscription_access_not_added_to_discord_server(client_wit
7189 assert response .status_code == 403
7290
7391
92+ discord_user_missing_email_api_response = {
93+ 'id' : '800764510645256242' ,
94+ 'username' : 'renzopro' ,
95+ 'avatar' : '824db4a9821e21f2609e03e5815c23c0' ,
96+ 'avatar_decoration' : None ,
97+ 'discriminator' : '3978' ,
98+ 'public_flags' : 0 ,
99+ 'flags' : 0 ,
100+ 'banner' : None ,
101+ 'banner_color' : None ,
102+ 'accent_color' : None ,
103+ 'locale' : 'pt-BR' ,
104+ 'mfa_enabled' : True ,
105+ 'verified' : True
106+ }
107+
74108discord_user_api_response = {
75109 'id' : '800764510645256242' ,
76110 'username' : 'renzopro' ,
0 commit comments