add more tests cases
This commit is contained in:
@@ -44,7 +44,6 @@ func Test_CSV_ParseFile(t *testing.T) {
|
||||
expectedRejected: 0,
|
||||
validateInserted: func(t *testing.T, inserted []meteo.MeteoData) {
|
||||
assert.Equal(t, 1, len(inserted))
|
||||
// TrimLeadingSpace should handle the spaces before Madrid
|
||||
assert.Equal(t, "Madrid", inserted[0].Location)
|
||||
},
|
||||
validateRejected: func(t *testing.T, rejected []meteo.RejectedMeteoData) {
|
||||
@@ -61,7 +60,7 @@ func Test_CSV_ParseFile(t *testing.T) {
|
||||
},
|
||||
validateRejected: func(t *testing.T, rejected []meteo.RejectedMeteoData) {
|
||||
assert.Equal(t, 1, len(rejected))
|
||||
assert.Contains(t, rejected[0].Reason, "missing city field")
|
||||
assert.Contains(t, rejected[0].Reason, "missing or invalid city field")
|
||||
assert.Equal(t, "2025/10/12;11,55;6,25;0;10", rejected[0].RowValue)
|
||||
},
|
||||
},
|
||||
@@ -77,6 +76,48 @@ func Test_CSV_ParseFile(t *testing.T) {
|
||||
assert.Empty(t, rejected)
|
||||
},
|
||||
},
|
||||
{
|
||||
name: "missing max temp field value",
|
||||
filePath: "./../../../assets/test_5.csv",
|
||||
expectedInserted: 0,
|
||||
expectedRejected: 1,
|
||||
validateInserted: func(t *testing.T, inserted []meteo.MeteoData) {
|
||||
assert.Empty(t, inserted)
|
||||
},
|
||||
validateRejected: func(t *testing.T, rejected []meteo.RejectedMeteoData) {
|
||||
assert.Equal(t, 1, len(rejected))
|
||||
assert.Contains(t, rejected[0].Reason, "missing or invalid max temp field")
|
||||
assert.Equal(t, "2025/10/12;Madrid;;6,25;0;10", rejected[0].RowValue)
|
||||
},
|
||||
},
|
||||
{
|
||||
name: "missing city field value",
|
||||
filePath: "./../../../assets/test_6.csv",
|
||||
expectedInserted: 0,
|
||||
expectedRejected: 1,
|
||||
validateInserted: func(t *testing.T, inserted []meteo.MeteoData) {
|
||||
assert.Empty(t, inserted)
|
||||
},
|
||||
validateRejected: func(t *testing.T, rejected []meteo.RejectedMeteoData) {
|
||||
assert.Equal(t, 1, len(rejected))
|
||||
assert.Contains(t, rejected[0].Reason, "missing or invalid city field")
|
||||
assert.Equal(t, "2025/10/12;;11,55;6,25;0;10", rejected[0].RowValue)
|
||||
},
|
||||
},
|
||||
{
|
||||
name: "missing date field value",
|
||||
filePath: "./../../../assets/test_7.csv",
|
||||
expectedInserted: 0,
|
||||
expectedRejected: 1,
|
||||
validateInserted: func(t *testing.T, inserted []meteo.MeteoData) {
|
||||
assert.Empty(t, inserted)
|
||||
},
|
||||
validateRejected: func(t *testing.T, rejected []meteo.RejectedMeteoData) {
|
||||
assert.Equal(t, 1, len(rejected))
|
||||
assert.Contains(t, rejected[0].Reason, "missing or invalid date field")
|
||||
assert.Equal(t, ";Madrid;11,55;6,25;0;10", rejected[0].RowValue)
|
||||
},
|
||||
},
|
||||
}
|
||||
|
||||
for _, tt := range tests {
|
||||
|
||||
Reference in New Issue
Block a user