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

Function TestExampleSQL

example/sql_1_11_test.go:101–487  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

99}
100
101func TestExampleSQL(t *testing.T) {
102 tests := map[string]struct {
103 setupMock func(t testing.TB, mocks *MockSQL)
104 tester func(t testing.TB, db *sql.DB)
105 }{
106 "NonNullable select nil": {
107 setupMock: func(t testing.TB, mocks *MockSQL) {
108 gomock.InOrder(
109 // Select In Work
110 mocks.Conn.EXPECT().Prepare("SELECT status FROM project WHERE id = ?").Return(mocks.Stmt, nil),
111 mocks.Stmt.EXPECT().NumInput().Return(1),
112 mocks.Stmt.EXPECT().Query(gomock.Any()).Return(mocks.Rows, nil),
113 mocks.Rows.EXPECT().Columns().Return([]string{`status`}),
114 mocks.Rows.EXPECT().Next(gomock.Any()).SetArg(0, []driver.Value{nil}).Return(nil),
115 mocks.Rows.EXPECT().Close().Return(nil),
116 mocks.Stmt.EXPECT().Close().Return(nil),
117 )
118 },
119 tester: func(t testing.TB, conn *sql.DB) {
120 // Get inWork status
121 status, err := getProjectStatus(conn)
122 require.NoError(t, err, "failed getting project status")
123 require.Equal(t, ProjectStatusPending, *status)
124 },
125 },
126 "NullableStr Select Null": {
127 setupMock: func(t testing.TB, mocks *MockSQL) {
128 gomock.InOrder(
129 // Select In Work
130 mocks.Conn.EXPECT().Prepare("SELECT status FROM project WHERE id = ?").Return(mocks.Stmt, nil),
131 mocks.Stmt.EXPECT().NumInput().Return(1),
132 mocks.Stmt.EXPECT().Query(gomock.Any()).Return(mocks.Rows, nil),
133 mocks.Rows.EXPECT().Columns().Return([]string{`status`}),
134 mocks.Rows.EXPECT().Next(gomock.Any()).SetArg(0, []driver.Value{nil}).Return(nil),
135 mocks.Rows.EXPECT().Close().Return(nil),
136 mocks.Stmt.EXPECT().Close().Return(nil),
137 )
138 },
139 tester: func(t testing.TB, conn *sql.DB) {
140 // Get inWork status
141 status, err := getNullStrProjectStatus(conn)
142 require.NoError(t, err, "failed getting project status")
143 require.False(t, status.Valid)
144 },
145 },
146 "Nullable Select Null": {
147 setupMock: func(t testing.TB, mocks *MockSQL) {
148 gomock.InOrder(
149 // Select In Work
150 mocks.Conn.EXPECT().Prepare("SELECT status FROM project WHERE id = ?").Return(mocks.Stmt, nil),
151 mocks.Stmt.EXPECT().NumInput().Return(1),
152 mocks.Stmt.EXPECT().Query(gomock.Any()).Return(mocks.Rows, nil),
153 mocks.Rows.EXPECT().Columns().Return([]string{`status`}),
154 mocks.Rows.EXPECT().Next(gomock.Any()).SetArg(0, []driver.Value{nil}).Return(nil),
155 mocks.Rows.EXPECT().Close().Return(nil),
156 mocks.Stmt.EXPECT().Close().Return(nil),
157 )
158 },

Callers

nothing calls this directly

Calls 15

EXPECTMethod · 0.95
getProjectStatusFunction · 0.85
getNullStrProjectStatusFunction · 0.85
getNullProjectStatusFunction · 0.85
MatchesValuesFunction · 0.85
setProjectStatusFunction · 0.85
NewNullProjectStatusFunction · 0.85
NewNullProjectStatusStrFunction · 0.85
NewMockDriverFunction · 0.85
WithMockSQLFunction · 0.85
PrepareMethod · 0.45
EXPECTMethod · 0.45

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…