func TestUserStoreSave(t *testing.T) { Setup() teamId := model.NewId() u1 := model.User{} u1.Email = model.NewId() u1.Username = model.NewId() if err := (<-store.User().Save(&u1)).Err; err != nil { t.Fatal("couldn't save user", err) } Must(store.Team().SaveMember(&model.TeamMember{TeamId: teamId, UserId: u1.Id})) if err := (<-store.User().Save(&u1)).Err; err == nil { t.Fatal("shouldn't be able to update user from save") } u1.Id = "" if err := (<-store.User().Save(&u1)).Err; err == nil { t.Fatal("should be unique email") } u1.Email = "" if err := (<-store.User().Save(&u1)).Err; err == nil { t.Fatal("should be unique username") } u1.Email = strings.Repeat("0123456789", 20) u1.Username = "" if err := (<-store.User().Save(&u1)).Err; err == nil { t.Fatal("should be unique username") } for i := 0; i < 50; i++ { u1.Id = "" u1.Email = model.NewId() u1.Username = model.NewId() if err := (<-store.User().Save(&u1)).Err; err != nil { t.Fatal("couldn't save item", err) } Must(store.Team().SaveMember(&model.TeamMember{TeamId: teamId, UserId: u1.Id})) } u1.Id = "" u1.Email = model.NewId() u1.Username = model.NewId() if err := (<-store.User().Save(&u1)).Err; err != nil { t.Fatal("couldn't save item", err) } if err := (<-store.Team().SaveMember(&model.TeamMember{TeamId: teamId, UserId: u1.Id})).Err; err == nil { t.Fatal("should be the limit") } }
func TestUserStoreUpdate(t *testing.T) { Setup() u1 := model.User{} u1.TeamId = model.NewId() u1.Email = model.NewId() <-store.User().Save(&u1) if err := (<-store.User().Update(&u1, false)).Err; err != nil { t.Fatal(err) } u1.Id = "missing" if err := (<-store.User().Update(&u1, false)).Err; err == nil { t.Fatal("Update should have failed because of missing key") } u1.Id = model.NewId() if err := (<-store.User().Update(&u1, false)).Err; err == nil { t.Fatal("Update should have faile because id change") } }