@@ -11,6 +11,7 @@ import (
1111 "github.com/getfider/fider/app/models/cmd"
1212 "github.com/getfider/fider/app/models/entity"
1313 "github.com/getfider/fider/app/models/enum"
14+ "github.com/getfider/fider/app/models/query"
1415 "github.com/getfider/fider/app/pkg/bus"
1516 "github.com/getfider/fider/app/pkg/env"
1617 "github.com/getfider/fider/app/services/httpclient/httpclientmock"
@@ -202,6 +203,33 @@ func TestUpdateUser_EmailOnly(t *testing.T) {
202203 Expect (containsEmail ).IsTrue ()
203204}
204205
206+ func TestDoNothingIfUserNotAdmin (t * testing.T ) {
207+ RegisterT (t )
208+ env .Config .HostMode = "multi"
209+ reset ()
210+
211+ // Change the DB hit to return a visitor
212+ bus .AddHandler (func (ctx context.Context , q * query.GetUserByID ) error {
213+ q .Result = & entity.User {
214+ ID : 1 ,
215+ Name : "John Doe" ,
216+ Email : "john.doe@example.com" ,
217+ Role : enum .RoleVisitor ,
218+ }
219+ return nil
220+ })
221+
222+ err := bus .Dispatch (ctx , & cmd.UserListUpdateUser {
223+ Id : 1 ,
224+ TenantId : 1 ,
225+ Email : "Freddy@example.com" ,
226+ })
227+ Expect (err ).IsNil ()
228+
229+ Expect (httpclientmock .RequestsHistory ).HasLen (0 )
230+
231+ }
232+
205233func TestMakeUserAdministrator (t * testing.T ) {
206234 RegisterT (t )
207235 env .Config .HostMode = "multi"
0 commit comments