Selaa lähdekoodia

tests are not working

aeth 5 päivää sitten
vanhempi
sitoutus
a0c79e4e9d
3 muutettua tiedostoa jossa 13 lisäystä ja 18 poistoa
  1. 1 1
      Makefile
  2. 4 4
      pkg/storage/storage.go
  3. 8 13
      pkg/storage/storage_test.go

+ 1 - 1
Makefile

@@ -16,7 +16,7 @@ format:
 	go fmt ./...
 
 test:
-	go test ./...
+	go test -v ./...
 
 
 coverage:

+ 4 - 4
pkg/storage/storage.go

@@ -228,16 +228,16 @@ func (s *SQLiteRepo) GetDropdownElements() []LinkPair {
 /*
 Retrieve a dropdown element by its text name on the UI
 */
-func (s *SQLiteRepo) GetDropdownElementByName(text string) (LinkPair, bool) {
-	rows := s.db.QueryRow("SELECT * FROM menu WHERE text = ?", text)
+func (s *SQLiteRepo) GetMenuItemByName(link, text string) (LinkPair, bool) {
+	rows := s.db.QueryRow("SELECT * FROM menu WHERE link = ? AND text = ?", link, text)
 	var item LinkPair
 	var id int
 	if err := rows.Scan(&id, &item.Link, &item.Text); err != nil {
 		if errors.Is(err, sql.ErrNoRows) {
 			return item, false
 		}
-		log.Fatal(err)
 	}
+	log.Printf("%+v\n", item)
 	return item, true
 
 }
@@ -512,7 +512,7 @@ func (s *SQLiteRepo) AddMenuItem(item LinkPair) error {
 	if err != nil {
 		return err
 	}
-	_, found := s.GetDropdownElementByName(item.Text)
+	_, found := s.GetMenuItemByName(item.Link, item.Text)
 	if found {
 		tx.Rollback()
 		return ErrDuplicate

+ 8 - 13
pkg/storage/storage_test.go

@@ -40,7 +40,7 @@ const badAdminTable = `
 	);
 	`
 
-var unpopulatedTables = []string{badPostsTable, badImagesTable, badMenuItemsTable, badMenuItemsTable, badAssetTable, badAdminTable}
+var unpopulatedTables = []string{badPostsTable, badImagesTable, badNavbarItemsTable, badMenuItemsTable, badAssetTable, badAdminTable}
 
 /*
 creates in memory db and SQLiteRepo struct
@@ -548,7 +548,7 @@ func TestAddMenuItem(t *testing.T) {
 		input []LinkPair
 		err   error
 	}
-	testDb, db := newTestDb(t.TempDir(), true)
+	testDb, _ := newTestDb(t.TempDir(), true)
 	for _, tc := range []testcase{
 		{
 			input: []LinkPair{
@@ -563,19 +563,14 @@ func TestAddMenuItem(t *testing.T) {
 		for i := range tc.input {
 			err := testDb.AddMenuItem(tc.input[i])
 			if err != nil {
+				// assert.Equal(expected, actual)
 				assert.Equal(t, tc.err, err)
 			}
-			rows, err := db.Query("SELECT * FROM menu")
-			var got []LinkPair
-			defer rows.Close()
-			for rows.Next() {
-				var id int
-				var item LinkPair
-				err = rows.Scan(&id, &item.Link, &item.Text)
-				if err != nil {
-					log.Fatal(err)
-				}
-				got = append(got, item)
+			rows := testDb.db.QueryRow("SELECT * FROM menu WHERE link = ? AND text = ?", tc.input[i].Link, tc.input[i].Text)
+			var got LinkPair
+			var id int
+			if err := rows.Scan(&id, &got.Link, &got.Text); err != nil {
+				t.Errorf("failed: %s", err.Error())
 			}
 			assert.Equal(t, tc.input, got)
 		}