@@ -56,6 +56,25 @@ func TestCoreUpdate(t *testing.T) {
5656 }).Upsert ().Exec ()
5757 So (UserModel .Where ("name" , "Triss" ).Exec (), ShouldHaveLength , 1 )
5858 })
59+ Convey ("Update user with upsert within options" , func () {
60+ UserModel .UpdateOne (& primitive.M {"name" : "Letho" }, User {
61+ Name : "Letho" ,
62+ }, & options.UpdateOptions {
63+ Upsert : lo .ToPtr (true ),
64+ }).Exec ()
65+ So (UserModel .Where ("name" , "Letho" ).Exec (), ShouldHaveLength , 1 )
66+ })
67+ Convey ("Update a user with a pointer document" , func () {
68+ user := User {
69+ Name : "Foltest" ,
70+ Age : 50 ,
71+ }
72+ UserModel .Create (user ).Exec ()
73+ UserModel .UpdateOne (& primitive.M {"name" : user .Name }, & User {
74+ Age : 51 ,
75+ }).Exec ()
76+ So (UserModel .FindOne ().Where ("name" , user .Name ).ExecT ().Age , ShouldEqual , 51 )
77+ })
5978 Convey ("Update user by ID" , func () {
6079 user := UserModel .FindOne ().Where ("name" , "Triss" ).ExecT ()
6180 UserModel .UpdateByID (user .ID , User {
@@ -103,7 +122,7 @@ func TestCoreUpdate(t *testing.T) {
103122 Weapons : []string {"Dagger" },
104123 }).Exec ()
105124 users := UserModel .Where ("weapons" , "Dagger" ).ExecTT ()
106- So (users , ShouldHaveLength , len (mocks .Users )+ 1 )
125+ So (users , ShouldHaveLength , len (mocks .Users )+ 3 )
107126 })
108127 Convey ("Increment age of a user" , func () {
109128 UserModel .Where ("name" , mocks .Vesemir .Name ).Inc ("age" , 1 ).Exec ()
0 commit comments