Leon4gr45 commited on
Commit
5613b73
·
verified ·
1 Parent(s): 3509a69

Delete test/plausible/teams/invitations/invite_to_site_test.exs with huggingface_hub

Browse files
test/plausible/teams/invitations/invite_to_site_test.exs DELETED
@@ -1,204 +0,0 @@
1
- defmodule Plausible.Teams.Invitations.InviteToSiteTest do
2
- use Plausible.DataCase
3
- use Bamboo.Test
4
-
5
- alias Plausible.Teams.Invitations.InviteToSite
6
-
7
- @subject_prefix if ee?(), do: "[Plausible Analytics] ", else: "[Plausible CE] "
8
-
9
- describe "invite/4" do
10
- test "creates an invitation" do
11
- inviter = new_user()
12
- invitee = new_user()
13
- site = new_site(owner: inviter)
14
-
15
- assert {:ok, %Plausible.Teams.GuestInvitation{}} =
16
- InviteToSite.invite(site, inviter, invitee.email, :viewer)
17
- end
18
-
19
- test "returns validation errors" do
20
- inviter = new_user()
21
- site = new_site(owner: inviter)
22
-
23
- assert {:error, changeset} = InviteToSite.invite(site, inviter, "", :viewer)
24
- assert {"can't be blank", _} = changeset.errors[:email]
25
- end
26
-
27
- test "returns error when user is already a member" do
28
- inviter = new_user()
29
- invitee = new_user()
30
- site = new_site(owner: inviter)
31
- add_guest(site, user: invitee, role: :viewer)
32
-
33
- assert {:error, :already_a_member} =
34
- InviteToSite.invite(site, inviter, invitee.email, :viewer)
35
-
36
- assert {:error, :already_a_member} =
37
- InviteToSite.invite(site, inviter, inviter.email, :viewer)
38
- end
39
-
40
- test "sends invitation email for existing users" do
41
- [inviter, invitee] = for _ <- 1..2, do: new_user()
42
- site = new_site(owner: inviter)
43
-
44
- assert {:ok, %Plausible.Teams.GuestInvitation{}} =
45
- InviteToSite.invite(site, inviter, invitee.email, :viewer)
46
-
47
- assert_email_delivered_with(
48
- to: [nil: invitee.email],
49
- subject: @subject_prefix <> "You've been invited to #{site.domain}"
50
- )
51
- end
52
-
53
- test "sends invitation email for new users" do
54
- inviter = new_user()
55
- site = new_site(owner: inviter)
56
-
57
- assert {:ok, %Plausible.Teams.GuestInvitation{invitation_id: invitation_id}} =
58
- InviteToSite.invite(site, inviter, "vini@plausible.test", :viewer)
59
-
60
- assert_email_delivered_with(
61
- to: [nil: "vini@plausible.test"],
62
- subject: @subject_prefix <> "You've been invited to #{site.domain}",
63
- html_body: ~r/#{invitation_id}/
64
- )
65
- end
66
-
67
- @tag :ee_only
68
- test "returns error when owner is over their team member limit" do
69
- [owner, inviter, invitee] = for _ <- 1..3, do: new_user()
70
-
71
- subscribe_to_growth_plan(owner)
72
-
73
- site = new_site(owner: owner)
74
- inviter = add_member(site.team, user: inviter, role: :admin)
75
- for _ <- 1..4, do: add_guest(site, role: :viewer)
76
-
77
- assert {:error, {:over_limit, 3}} =
78
- InviteToSite.invite(site, inviter, invitee.email, :viewer)
79
- end
80
-
81
- @tag :ee_only
82
- test "allows inviting users who were already invited to other sites, within the limit" do
83
- owner = new_user()
84
- subscribe_to_growth_plan(owner)
85
- site = new_site(owner: owner)
86
-
87
- invite = fn site, email ->
88
- InviteToSite.invite(site, owner, email, :viewer)
89
- end
90
-
91
- assert {:ok, _} = invite.(site, "i1@example.com")
92
- assert {:ok, _} = invite.(site, "i2@example.com")
93
- assert {:ok, _} = invite.(site, "i3@example.com")
94
- assert {:error, {:over_limit, 3}} = invite.(site, "i4@example.com")
95
-
96
- site2 = new_site(owner: owner)
97
-
98
- assert {:ok, _} = invite.(site2, "i3@example.com")
99
- end
100
-
101
- @tag :ee_only
102
- test "allows inviting users who are already members of other sites, within the limit" do
103
- [u1, u2, u3, u4] = for _ <- 1..4, do: new_user()
104
- subscribe_to_growth_plan(u1)
105
-
106
- site = new_site(owner: u1)
107
- add_guest(site, user: u2, role: :viewer)
108
- add_guest(site, user: u3, role: :viewer)
109
- add_guest(site, user: u4, role: :viewer)
110
-
111
- site2 = new_site(owner: u1)
112
- add_guest(site2, user: u2, role: :viewer)
113
- add_guest(site2, user: u3, role: :viewer)
114
-
115
- invite = fn site, email ->
116
- InviteToSite.invite(site, u1, email, :viewer)
117
- end
118
-
119
- assert {:error, {:over_limit, 3}} = invite.(site, "another@example.com")
120
- assert {:error, :already_a_member} = invite.(site, u4.email)
121
- assert {:ok, _} = invite.(site2, u4.email)
122
- end
123
-
124
- test "sends ownership transfer email when invitation role is owner" do
125
- inviter = new_user()
126
- site = new_site(owner: inviter)
127
-
128
- assert {:ok, %Plausible.Teams.SiteTransfer{}} =
129
- InviteToSite.invite(site, inviter, "vini@plausible.test", :owner)
130
-
131
- assert_email_delivered_with(
132
- to: [nil: "vini@plausible.test"],
133
- subject: @subject_prefix <> "Request to transfer ownership of #{site.domain}"
134
- )
135
- end
136
-
137
- test "admin can initiate ownership transfer too" do
138
- inviter = new_user()
139
- site = new_site()
140
- add_member(site.team, user: inviter, role: :admin)
141
-
142
- assert {:ok, %Plausible.Teams.SiteTransfer{}} =
143
- InviteToSite.invite(site, inviter, "vini@plausible.test", :owner)
144
-
145
- assert_email_delivered_with(
146
- to: [nil: "vini@plausible.test"],
147
- subject: @subject_prefix <> "Request to transfer ownership of #{site.domain}"
148
- )
149
- end
150
-
151
- test "only allows owners and admins to transfer ownership" do
152
- inviter = new_user()
153
-
154
- site = new_site()
155
- add_guest(site, user: inviter, role: :editor)
156
-
157
- assert {:error, :permission_denied} =
158
- InviteToSite.invite(site, inviter, "vini@plausible.test", :owner)
159
- end
160
-
161
- test "allows ownership transfer to existing site members" do
162
- inviter = new_user()
163
- invitee = new_user()
164
- site = new_site(owner: inviter)
165
- add_guest(site, user: invitee, role: :viewer)
166
-
167
- assert {:ok, %Plausible.Teams.SiteTransfer{}} =
168
- InviteToSite.invite(site, inviter, invitee.email, :owner)
169
- end
170
-
171
- test "allows creating an ownership transfer even when at team member limit" do
172
- inviter = new_user()
173
- site = new_site(owner: inviter)
174
- for _ <- 1..3, do: add_guest(site, role: :viewer)
175
-
176
- assert {:ok, _invitation} =
177
- InviteToSite.invite(
178
- site,
179
- inviter,
180
- "newowner@plausible.test",
181
- :owner
182
- )
183
- end
184
-
185
- test "does not allow viewers to invite users" do
186
- inviter = new_user()
187
- owner = new_user()
188
- site = new_site(owner: owner)
189
- add_member(site.team, user: inviter, role: :viewer)
190
-
191
- assert {:error, :permission_denied} =
192
- InviteToSite.invite(site, inviter, "vini@plausible.test", :viewer)
193
- end
194
-
195
- test "allows admins to invite editors" do
196
- inviter = new_user()
197
- site = new_site()
198
- add_member(site.team, user: inviter, role: :admin)
199
-
200
- assert {:ok, %Plausible.Teams.GuestInvitation{}} =
201
- InviteToSite.invite(site, inviter, "vini@plausible.test", :editor)
202
- end
203
- end
204
- end