Test query with Or and soft delete
This commit is contained in:
		
							parent
							
								
									93b1a6f7ea
								
							
						
					
					
						commit
						416c4d0653
					
				| @ -5,11 +5,11 @@ go 1.14 | ||||
| require ( | ||||
| 	github.com/denisenkom/go-mssqldb v0.12.0 // indirect | ||||
| 	github.com/google/uuid v1.3.0 | ||||
| 	github.com/jackc/pgx/v4 v4.14.1 // indirect | ||||
| 	github.com/jackc/pgx/v4 v4.15.0 // indirect | ||||
| 	github.com/jinzhu/now v1.1.4 | ||||
| 	github.com/lib/pq v1.10.4 | ||||
| 	github.com/mattn/go-sqlite3 v1.14.11 // indirect | ||||
| 	golang.org/x/crypto v0.0.0-20220128200615-198e4374d7ed // indirect | ||||
| 	golang.org/x/crypto v0.0.0-20220208050332-20e1d8d225ab // indirect | ||||
| 	gorm.io/driver/mysql v1.2.3 | ||||
| 	gorm.io/driver/postgres v1.2.3 | ||||
| 	gorm.io/driver/sqlite v1.2.6 | ||||
|  | ||||
| @ -512,7 +512,13 @@ func TestNotWithAllFields(t *testing.T) { | ||||
| func TestOr(t *testing.T) { | ||||
| 	dryDB := DB.Session(&gorm.Session{DryRun: true}) | ||||
| 
 | ||||
| 	result := dryDB.Where("role = ?", "admin").Where(DB.Or("role = ?", "super_admin")).Find(&User{}) | ||||
| 	var count int64 | ||||
| 	result := dryDB.Model(&User{}).Or("role = ?", "admin").Count(&count) | ||||
| 	if !regexp.MustCompile("SELECT count\\(\\*\\) FROM .*users.* WHERE role = .+ AND .*users.*\\..*deleted_at.* IS NULL").MatchString(result.Statement.SQL.String()) { | ||||
| 		t.Fatalf("Build OR condition, but got %v", result.Statement.SQL.String()) | ||||
| 	} | ||||
| 
 | ||||
| 	result = dryDB.Where("role = ?", "admin").Where(DB.Or("role = ?", "super_admin")).Find(&User{}) | ||||
| 	if !regexp.MustCompile("SELECT \\* FROM .*users.* WHERE .*role.* = .+ AND .*role.* = .+").MatchString(result.Statement.SQL.String()) { | ||||
| 		t.Fatalf("Build OR condition, but got %v", result.Statement.SQL.String()) | ||||
| 	} | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user
	 Jinzhu
						Jinzhu