Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit e907a0f

Browse files
committed
Fix sqlx unit test
1 parent 8dc8c42 commit e907a0f

File tree

3 files changed

+23
-18
lines changed

3 files changed

+23
-18
lines changed

coderd/database/modelqueries.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -202,7 +202,7 @@ type getWorkspaceBuildParams struct {
202202
WorkspaceID uuid.UUID `db:"workspace_id"`
203203
BuildNumber int32 `db:"build_number"`
204204
LimitOpt int32 `db:"limit_opt"`
205-
Latest bool `db:"-"` statu
205+
Latest bool `db:"-"`
206206
}
207207

208208
func (q *sqlQuerier) getWorkspaceBuild(ctx context.Context, arg getWorkspaceBuildParams) (WorkspaceBuild, error) {

coderd/database/modelqueries_test.go

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -81,6 +81,10 @@ func TestGetWorkspaceBuild(t *testing.T) {
8181
CreatedAt: time.Now().Add(time.Hour),
8282
}),
8383
}
84+
orderBuilds = []database.WorkspaceBuildThin{
85+
builds[1],
86+
builds[0],
87+
}
8488
ctx = context.Background()
8589
)
8690

@@ -109,13 +113,13 @@ func TestGetWorkspaceBuild(t *testing.T) {
109113

110114
t.Run("GetWorkspaceBuildsCreatedAfter", func(t *testing.T) {
111115
t.Parallel()
112-
builds, err := db.GetWorkspaceBuildsCreatedAfter(ctx, jobs[0].CreatedAt)
116+
found, err := db.GetWorkspaceBuildsCreatedAfter(ctx, builds[0].CreatedAt.Add(time.Second))
113117
if err != nil {
114118
t.Fatal(err)
115119
}
116120
expected := builds[1]
117-
require.Len(t, builds, 1, "should only be one build")
118-
require.Equal(t, expected, builds[0], "builds should be equal")
121+
require.Len(t, found, 1, "should only be one build")
122+
require.Equal(t, expected, found[0].ToThin(), "builds should be equal")
119123
})
120124

121125
t.Run("GetWorkspaceBuildByWorkspaceIDAndBuildNumber", func(t *testing.T) {
@@ -142,11 +146,7 @@ func TestGetWorkspaceBuild(t *testing.T) {
142146
t.Fatal(err)
143147
}
144148
require.Len(t, found, 2, "should be two builds")
145-
exp := []database.WorkspaceBuildThin{
146-
builds[1],
147-
builds[0],
148-
}
149-
require.Equal(t, exp, toThins(found), "builds should be equal")
149+
require.Equal(t, orderBuilds, toThins(found), "builds should be equal")
150150
})
151151

152152
t.Run("GetLatestWorkspaceBuildsByWorkspaceIDs", func(t *testing.T) {
@@ -155,8 +155,8 @@ func TestGetWorkspaceBuild(t *testing.T) {
155155
if err != nil {
156156
t.Fatal(err)
157157
}
158-
require.Len(t, found, 2, "should be two builds")
159-
require.Equal(t, builds, found, "builds should be equal")
158+
require.Len(t, found, 1, "should be only one build")
159+
require.Equal(t, builds[1], found[0].ToThin(), "builds should be equal")
160160
})
161161

162162
t.Run("GetLatestWorkspaceBuilds", func(t *testing.T) {
@@ -166,7 +166,7 @@ func TestGetWorkspaceBuild(t *testing.T) {
166166
t.Fatal(err)
167167
}
168168
require.Len(t, found, 1, "should be only 1 build")
169-
require.Equal(t, builds[1], toThins(found), "builds should be equal")
169+
require.Equal(t, builds[1], found[0].ToThin(), "builds should be equal")
170170
})
171171

172172
t.Run("GetLatestWorkspaceBuildByWorkspaceID", func(t *testing.T) {
@@ -175,7 +175,7 @@ func TestGetWorkspaceBuild(t *testing.T) {
175175
if err != nil {
176176
t.Fatal(err)
177177
}
178-
require.Equal(t, builds[1], found, "builds should be equal")
178+
require.Equal(t, builds[1], found.ToThin(), "builds should be equal")
179179
})
180180
}
181181

coderd/database/sqlxqueries/sqlx.go

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -13,16 +13,16 @@ import (
1313
func SelectContext[RT any](ctx context.Context, q sqlx.QueryerContext, queryName string, argument interface{}) ([]RT, error) {
1414
var empty []RT
1515

16-
query, err := query(queryName, argument)
17-
if err != nil {
18-
return empty, xerrors.Errorf("get query: %w", err)
19-
}
20-
2116
// No argument was given, use an empty struct.
2217
if argument == nil {
2318
argument = struct{}{}
2419
}
2520

21+
query, err := query(queryName, argument)
22+
if err != nil {
23+
return empty, xerrors.Errorf("get query: %w", err)
24+
}
25+
2626
query, args, err := bindNamed(query, argument)
2727
if err != nil {
2828
return empty, xerrors.Errorf("bind named: %w", err)
@@ -41,6 +41,11 @@ func SelectContext[RT any](ctx context.Context, q sqlx.QueryerContext, queryName
4141
func GetContext[RT any](ctx context.Context, q sqlx.QueryerContext, queryName string, argument interface{}) (RT, error) {
4242
var empty RT
4343

44+
// No argument was given, use an empty struct.
45+
if argument == nil {
46+
argument = struct{}{}
47+
}
48+
4449
query, err := query(queryName, argument)
4550
if err != nil {
4651
return empty, xerrors.Errorf("get query: %w", err)

0 commit comments

Comments
 (0)