diff options
Diffstat (limited to '')
-rw-r--r-- | pkg/database/migrations.go | 2 | ||||
-rw-r--r-- | pkg/database/stop.go (renamed from pkg/database/train_stop.go) | 10 | ||||
-rw-r--r-- | pkg/database/stop_test.go (renamed from pkg/database/train_stop_test.go) | 44 |
3 files changed, 28 insertions, 28 deletions
diff --git a/pkg/database/migrations.go b/pkg/database/migrations.go index ada638a..c2f35dc 100644 --- a/pkg/database/migrations.go +++ b/pkg/database/migrations.go @@ -23,7 +23,7 @@ var allMigrations = []func(tx *sql.Tx) error{ created_at DATE DEFAULT (datetime('now')), FOREIGN KEY (user_id) REFERENCES users(id) ON DELETE CASCADE ); - CREATE TABLE train_stops ( + CREATE TABLE stops ( id TEXT PRIMARY KEY, name TEXT NOT NULL );` diff --git a/pkg/database/train_stop.go b/pkg/database/stop.go index ee7be00..519b9aa 100644 --- a/pkg/database/train_stop.go +++ b/pkg/database/stop.go @@ -4,8 +4,8 @@ import ( "git.adyxax.org/adyxax/trains/pkg/model" ) -func (env *DBEnv) CountTrainStops() (i int, err error) { - query := `SELECT count(*) from train_stops;` +func (env *DBEnv) CountStops() (i int, err error) { + query := `SELECT count(*) from stops;` err = env.db.QueryRow(query).Scan(&i) if err != nil { return 0, newQueryError("Could not run database query: most likely the schema is corrupted", err) @@ -13,10 +13,10 @@ func (env *DBEnv) CountTrainStops() (i int, err error) { return } -func (env *DBEnv) ReplaceAndImportTrainStops(trainStops []model.TrainStop) error { - pre_query := `DELETE FROM train_stops;` +func (env *DBEnv) ReplaceAndImportStops(trainStops []model.Stop) error { + pre_query := `DELETE FROM stops;` query := ` - INSERT INTO train_stops + INSERT INTO stops (id, name) VALUES ($1, $2);` diff --git a/pkg/database/train_stop_test.go b/pkg/database/stop_test.go index b3f9459..7329ac7 100644 --- a/pkg/database/train_stop_test.go +++ b/pkg/database/stop_test.go @@ -10,46 +10,46 @@ import ( "github.com/stretchr/testify/require" ) -func TestCountTrainStops(t *testing.T) { - trainStops := []model.TrainStop{ - model.TrainStop{Id: "id1", Name: "name1"}, - model.TrainStop{Id: "id2", Name: "name2"}, +func TestCountStops(t *testing.T) { + trainStops := []model.Stop{ + model.Stop{Id: "id1", Name: "name1"}, + model.Stop{Id: "id2", Name: "name2"}, } // test db setup db, err := InitDB("sqlite3", "file::memory:?_foreign_keys=on") require.NoError(t, err) // check sql error - i, err := db.CountTrainStops() + i, err := db.CountStops() require.Error(t, err) assert.Equalf(t, reflect.TypeOf(err), reflect.TypeOf(&QueryError{}), "Invalid error type. Got %s but expected %s", reflect.TypeOf(err), reflect.TypeOf(&QueryError{})) // normal check err = db.Migrate() require.NoError(t, err) - err = db.ReplaceAndImportTrainStops(trainStops) - i, err = db.CountTrainStops() + err = db.ReplaceAndImportStops(trainStops) + i, err = db.CountStops() require.NoError(t, err) assert.Equal(t, i, len(trainStops)) } -func TestReplaceAndImportTrainStops(t *testing.T) { +func TestReplaceAndImportStops(t *testing.T) { // test db setup db, err := InitDB("sqlite3", "file::memory:?_foreign_keys=on") require.NoError(t, err) err = db.Migrate() require.NoError(t, err) // datasets - data1 := []model.TrainStop{ - model.TrainStop{Id: "first", Name: "firstName"}, - model.TrainStop{Id: "second", Name: "secondName"}, + data1 := []model.Stop{ + model.Stop{Id: "first", Name: "firstName"}, + model.Stop{Id: "second", Name: "secondName"}, } - data2 := []model.TrainStop{ - model.TrainStop{Id: "first", Name: "firstTest"}, - model.TrainStop{Id: "secondTest", Name: "secondTest"}, - model.TrainStop{Id: "thirdTest", Name: "thirdTest"}, + data2 := []model.Stop{ + model.Stop{Id: "first", Name: "firstTest"}, + model.Stop{Id: "secondTest", Name: "secondTest"}, + model.Stop{Id: "thirdTest", Name: "thirdTest"}, } testCases := []struct { name string - input []model.TrainStop + input []model.Stop expectedError interface{} }{ {"Normal insert", data1, nil}, @@ -57,7 +57,7 @@ func TestReplaceAndImportTrainStops(t *testing.T) { } for _, tc := range testCases { t.Run(tc.name, func(t *testing.T) { - err := db.ReplaceAndImportTrainStops(tc.input) + err := db.ReplaceAndImportStops(tc.input) if tc.expectedError != nil { require.Error(t, err) assert.Equalf(t, reflect.TypeOf(err), reflect.TypeOf(tc.expectedError), "Invalid error type. Got %s but expected %s", reflect.TypeOf(err), reflect.TypeOf(tc.expectedError)) @@ -68,11 +68,11 @@ func TestReplaceAndImportTrainStops(t *testing.T) { } } -func TestReplaceAndImportTrainStopsWithSQLMock(t *testing.T) { +func TestReplaceAndImportStopsWithSQLMock(t *testing.T) { // datasets - data1 := []model.TrainStop{ - model.TrainStop{Id: "first", Name: "firstName"}, - model.TrainStop{Id: "second", Name: "secondName"}, + data1 := []model.Stop{ + model.Stop{Id: "first", Name: "firstName"}, + model.Stop{Id: "second", Name: "secondName"}, } // Transaction begin error dbBeginError, _, err := sqlmock.New() @@ -118,7 +118,7 @@ func TestReplaceAndImportTrainStopsWithSQLMock(t *testing.T) { } for _, tc := range testCases { t.Run(tc.name, func(t *testing.T) { - err := tc.db.ReplaceAndImportTrainStops(data1) + err := tc.db.ReplaceAndImportStops(data1) if tc.expectedError != nil { require.Error(t, err) assert.Equalf(t, reflect.TypeOf(err), reflect.TypeOf(tc.expectedError), "Invalid error type. Got %s but expected %s", reflect.TypeOf(err), reflect.TypeOf(tc.expectedError)) |