lens @ 2a986064a2657c9091a31a941ce0d004191b8453

ref: Move to boxed tests
  1diff --git a/pkg/database/sql/user_test.go b/pkg/database/sql/user_test.go
  2index db436767045e01cc9b20d03e3bee2576e01c6707..fda744038a8cb5ee639b4ec1dfc0132466904578 100644
  3--- a/pkg/database/sql/user_test.go
  4+++ b/pkg/database/sql/user_test.go
  5@@ -12,69 +12,101 @@ 	"git.sr.ht/~gabrielgio/img/pkg/database/repository"
  6 )
  7 
  8 func TestCreate(t *testing.T) {
  9-	t.Parallel()
 10-	db, tearDown := setup(t)
 11-	defer tearDown()
 12+	testCases := []struct {
 13+		name       string
 14+		createUser *repository.CreateUser
 15+		want       *repository.User
 16+	}{
 17+		{
 18+			name: "Normal",
 19+			createUser: &repository.CreateUser{
 20+				Username: "new_username",
 21+				Name:     "new_name",
 22+			},
 23+			want: &repository.User{
 24+				ID:       1, // since the database is being created I can assume 1
 25+				Username: "new_username",
 26+				Name:     "new_name",
 27+			},
 28+		},
 29+	}
 30 
 31-	userRepository := NewUserRepository(db)
 32+	for _, tc := range testCases {
 33+		t.Run(tc.name, func(t *testing.T) {
 34+			db, tearDown := setup(t)
 35+			defer tearDown()
 36 
 37-	id, err := userRepository.Create(context.Background(), &repository.CreateUser{
 38-		Username: "new_username",
 39-		Name:     "new_name",
 40-	})
 41-	if err != nil {
 42-		t.Fatalf("Error creating: %s", err.Error())
 43-	}
 44+			userRepository := NewUserRepository(db)
 45+			id, err := userRepository.Create(context.Background(), tc.createUser)
 46+			if err != nil {
 47+				t.Fatalf("Error creating: %s", err.Error())
 48+			}
 49 
 50-	got, err := userRepository.Get(context.Background(), id)
 51-	if err != nil {
 52-		t.Fatalf("Error getting: %s", err.Error())
 53-	}
 54-	want := &repository.User{
 55-		ID:       id,
 56-		Username: "new_username",
 57-		Name:     "new_name",
 58-	}
 59+			got, err := userRepository.Get(context.Background(), id)
 60+			if err != nil {
 61+				t.Fatalf("Error getting: %s", err.Error())
 62+			}
 63 
 64-	if diff := cmp.Diff(want, got); diff != "" {
 65-		t.Errorf("%s() mismatch (-want +got):\n%s", "Update", diff)
 66+			if diff := cmp.Diff(tc.want, got); diff != "" {
 67+				t.Errorf("%s() mismatch (-want +got):\n%s", "Update", diff)
 68+			}
 69+		})
 70 	}
 71 }
 72 
 73 func TestUpdate(t *testing.T) {
 74-	t.Parallel()
 75-	db, tearDown := setup(t)
 76-	defer tearDown()
 77+	testCases := []struct {
 78+		name       string
 79+		createUser *repository.CreateUser
 80+		want       *repository.User
 81+	}{
 82+		{
 83+			name: "Normal creation",
 84+			createUser: &repository.CreateUser{
 85+				Username: "username",
 86+				Name:     "name",
 87+				IsAdmin:  true,
 88+				Path:     "/tmp/new_folder",
 89+			},
 90+			want: &repository.User{
 91+				ID:       1, // since the database is being created I can assume 1
 92+				Username: "new_username",
 93+				Name:     "new_name",
 94+				IsAdmin:  true,
 95+				Path:     "/tmp/new_folder",
 96+			},
 97+		},
 98+	}
 99 
100-	userRepository := NewUserRepository(db)
101+	for _, tc := range testCases {
102+		t.Run(tc.name, func(t *testing.T) {
103+			db, tearDown := setup(t)
104+			defer tearDown()
105 
106-	id, err := userRepository.Create(context.Background(), &repository.CreateUser{
107-		Username: "username",
108-		Name:     "name",
109-	})
110-	if err != nil {
111-		t.Fatalf("Error creating user: %s", err.Error())
112-	}
113+			userRepository := NewUserRepository(db)
114+
115+			id, err := userRepository.Create(context.Background(), tc.createUser)
116+			if err != nil {
117+				t.Fatalf("Error creating user: %s", err.Error())
118+			}
119+
120+			err = userRepository.Update(context.Background(), id, &repository.UpdateUser{
121+				Username: "new_username",
122+				Name:     "new_name",
123+			})
124+			if err != nil {
125+				t.Fatalf("Error update user: %s", err.Error())
126+			}
127 
128-	err = userRepository.Update(context.Background(), id, &repository.UpdateUser{
129-		Username: "new_username",
130-		Name:     "new_name",
131-	})
132-	if err != nil {
133-		t.Fatalf("Error update user: %s", err.Error())
134-	}
135+			got, err := userRepository.Get(context.Background(), 1)
136+			if err != nil {
137+				t.Fatalf("Error getting user: %s", err.Error())
138+			}
139 
140-	got, err := userRepository.Get(context.Background(), 1)
141-	if err != nil {
142-		t.Fatalf("Error getting user: %s", err.Error())
143-	}
144-	want := &repository.User{
145-		ID:       id,
146-		Username: "new_username",
147-		Name:     "new_name",
148-	}
149+			if diff := cmp.Diff(tc.want, got); diff != "" {
150+				t.Errorf("%s() mismatch (-want +got):\n%s", "Update", diff)
151+			}
152 
153-	if diff := cmp.Diff(want, got); diff != "" {
154-		t.Errorf("%s() mismatch (-want +got):\n%s", "Update", diff)
155+		})
156 	}
157 }
158diff --git a/templates/user.qtpl b/templates/user.qtpl
159index ba2f071537abbcc25f8ec2d3fc1eb18f05b9ac1c..6ec783d6d9bbc32dcb34efe3deba29230cdc3e39 100644
160--- a/templates/user.qtpl
161+++ b/templates/user.qtpl
162@@ -9,7 +9,7 @@ }
163 
164 %}
165 
166-{% func (p *UserPage) Title() %}Login{% endfunc %}
167+{% func (p *UserPage) Title() %}User{% endfunc %}
168 
169 {% func (p *UserPage) Content() %}
170 <h1>Initial Setup</h1>