Add unittest test helper function ConvertSliceOfMapToValuesForCreate (#6854)
This commit is contained in:
		
							parent
							
								
									52404cddbb
								
							
						
					
					
						commit
						f118e55db5
					
				| @ -95,3 +95,63 @@ func TestConvertMapToValuesForCreate(t *testing.T) { | |||||||
| 		}) | 		}) | ||||||
| 	} | 	} | ||||||
| } | } | ||||||
|  | 
 | ||||||
|  | func TestConvertSliceOfMapToValuesForCreate(t *testing.T) { | ||||||
|  | 	testCase := []struct { | ||||||
|  | 		name   string | ||||||
|  | 		input  []map[string]interface{} | ||||||
|  | 		expect clause.Values | ||||||
|  | 	}{ | ||||||
|  | 		{ | ||||||
|  | 			name: "Test convert slice of string value", | ||||||
|  | 			input: []map[string]interface{}{ | ||||||
|  | 				{"name": "my name"}, | ||||||
|  | 			}, | ||||||
|  | 			expect: clause.Values{ | ||||||
|  | 				Columns: []clause.Column{{Name: "name"}}, | ||||||
|  | 				Values:  [][]interface{}{{"my name"}}, | ||||||
|  | 			}, | ||||||
|  | 		}, | ||||||
|  | 		{ | ||||||
|  | 			name: "Test convert slice of int value", | ||||||
|  | 			input: []map[string]interface{}{ | ||||||
|  | 				{"age": 18}, | ||||||
|  | 			}, | ||||||
|  | 			expect: clause.Values{ | ||||||
|  | 				Columns: []clause.Column{{Name: "age"}}, | ||||||
|  | 				Values:  [][]interface{}{{18}}, | ||||||
|  | 			}, | ||||||
|  | 		}, | ||||||
|  | 		{ | ||||||
|  | 			name: "Test convert slice of float value", | ||||||
|  | 			input: []map[string]interface{}{ | ||||||
|  | 				{"score": 99.5}, | ||||||
|  | 			}, | ||||||
|  | 			expect: clause.Values{ | ||||||
|  | 				Columns: []clause.Column{{Name: "score"}}, | ||||||
|  | 				Values:  [][]interface{}{{99.5}}, | ||||||
|  | 			}, | ||||||
|  | 		}, | ||||||
|  | 		{ | ||||||
|  | 			name: "Test convert slice of bool value", | ||||||
|  | 			input: []map[string]interface{}{ | ||||||
|  | 				{"active": true}, | ||||||
|  | 			}, | ||||||
|  | 			expect: clause.Values{ | ||||||
|  | 				Columns: []clause.Column{{Name: "active"}}, | ||||||
|  | 				Values:  [][]interface{}{{true}}, | ||||||
|  | 			}, | ||||||
|  | 		}, | ||||||
|  | 	} | ||||||
|  | 
 | ||||||
|  | 	for _, tc := range testCase { | ||||||
|  | 		t.Run(tc.name, func(t *testing.T) { | ||||||
|  | 			actual := ConvertSliceOfMapToValuesForCreate(&gorm.Statement{}, tc.input) | ||||||
|  | 
 | ||||||
|  | 			if !reflect.DeepEqual(actual, tc.expect) { | ||||||
|  | 				t.Errorf("expected %v but got %v", tc.expect, actual) | ||||||
|  | 			} | ||||||
|  | 		}) | ||||||
|  | 	} | ||||||
|  | 
 | ||||||
|  | } | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user
	 Chef
						Chef