MCPcopy Create free account
hub / github.com/abice/go-enum / TestExampleSQLStrOnly

Function TestExampleSQLStrOnly

example/sql_str_enum_test.go:16–306  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

14)
15
16func TestExampleSQLStrOnly(t *testing.T) {
17 tests := map[string]struct {
18 setupMock func(t testing.TB, mocks *MockSQL)
19 tester func(t testing.TB, db *sql.DB)
20 }{
21 "NonNullable select nil": {
22 setupMock: func(t testing.TB, mocks *MockSQL) {
23 gomock.InOrder(
24 // Select In Work
25 mocks.Conn.EXPECT().Prepare("SELECT status FROM job WHERE id = ?").Return(mocks.Stmt, nil),
26 mocks.Stmt.EXPECT().NumInput().Return(1),
27 mocks.Stmt.EXPECT().Query(gomock.Any()).Return(mocks.Rows, nil),
28 mocks.Rows.EXPECT().Columns().Return([]string{`status`}),
29 mocks.Rows.EXPECT().Next(gomock.Any()).SetArg(0, []driver.Value{nil}).Return(nil),
30 mocks.Rows.EXPECT().Close().Return(nil),
31 mocks.Stmt.EXPECT().Close().Return(nil),
32 )
33 },
34 tester: func(t testing.TB, conn *sql.DB) {
35 // Get inWork status
36 status, err := getJobState(conn)
37 require.NoError(t, err, "failed getting project status")
38 require.Equal(t, JobStatePending, status)
39 },
40 },
41 "Nullable Select Null": {
42 setupMock: func(t testing.TB, mocks *MockSQL) {
43 gomock.InOrder(
44 // Select In Work
45 mocks.Conn.EXPECT().Prepare("SELECT status FROM job WHERE id = ?").Return(mocks.Stmt, nil),
46 mocks.Stmt.EXPECT().NumInput().Return(1),
47 mocks.Stmt.EXPECT().Query(gomock.Any()).Return(mocks.Rows, nil),
48 mocks.Rows.EXPECT().Columns().Return([]string{`status`}),
49 mocks.Rows.EXPECT().Next(gomock.Any()).SetArg(0, []driver.Value{nil}).Return(nil),
50 mocks.Rows.EXPECT().Close().Return(nil),
51 mocks.Stmt.EXPECT().Close().Return(nil),
52 )
53 },
54 tester: func(t testing.TB, conn *sql.DB) {
55 // Get inWork status
56 status, err := getNullJobState(conn)
57 require.NoError(t, err, "failed getting project status")
58 require.False(t, status.Valid)
59 },
60 },
61 "Select a string": {
62 setupMock: func(t testing.TB, mocks *MockSQL) {
63 gomock.InOrder(
64 // Select In Work
65 mocks.Conn.EXPECT().Prepare("SELECT status FROM job WHERE id = ?").Return(mocks.Stmt, nil),
66 mocks.Stmt.EXPECT().NumInput().Return(1),
67 mocks.Stmt.EXPECT().Query(gomock.Any()).Return(mocks.Rows, nil),
68 mocks.Rows.EXPECT().Columns().Return([]string{`status`}),
69 mocks.Rows.EXPECT().Next(gomock.Any()).SetArg(0, []driver.Value{JobStateProcessing.String()}).Return(nil),
70 mocks.Rows.EXPECT().Close().Return(nil),
71 mocks.Stmt.EXPECT().Close().Return(nil),
72 )
73 },

Callers

nothing calls this directly

Calls 15

EXPECTMethod · 0.95
getJobStateFunction · 0.85
getNullJobStateFunction · 0.85
MatchesValuesFunction · 0.85
setJobStateFunction · 0.85
NewNullJobStateFunction · 0.85
NewMockDriverFunction · 0.85
WithMockSQLFunction · 0.85
PrepareMethod · 0.45
EXPECTMethod · 0.45
NumInputMethod · 0.45
QueryMethod · 0.45

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…