MCPcopy Index your code
hub / github.com/riverqueue/river / TestRequireInsertedTx

Function TestRequireInsertedTx

rivertest/rivertest_test.go:87–387  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

85}
86
87func TestRequireInsertedTx(t *testing.T) {
88 t.Parallel()
89
90 ctx := context.Background()
91
92 type testBundle struct {
93 mockT *testutil.MockT
94 tx pgx.Tx
95 }
96
97 setup := func(t *testing.T) (*river.Client[pgx.Tx], *testBundle) {
98 t.Helper()
99
100 riverClient, err := river.NewClient(riverpgxv5.New(nil), &river.Config{})
101 require.NoError(t, err)
102
103 return riverClient, &testBundle{
104 mockT: testutil.NewMockT(t),
105 tx: riverdbtest.TestTxPgx(ctx, t),
106 }
107 }
108
109 t.Run("VerifiesInsert", func(t *testing.T) {
110 t.Parallel()
111
112 riverClient, bundle := setup(t)
113
114 _, err := riverClient.InsertTx(ctx, bundle.tx, Job1Args{String: "foo"}, nil)
115 require.NoError(t, err)
116
117 job := requireInsertedTx[*riverpgxv5.Driver](ctx, t, bundle.tx, &Job1Args{}, nil)
118 require.False(t, bundle.mockT.Failed)
119 require.Equal(t, "foo", job.Args.String)
120 })
121
122 t.Run("VerifiesMultiple", func(t *testing.T) {
123 t.Parallel()
124
125 riverClient, bundle := setup(t)
126
127 _, err := riverClient.InsertTx(ctx, bundle.tx, Job1Args{String: "foo"}, nil)
128 require.NoError(t, err)
129
130 _, err = riverClient.InsertTx(ctx, bundle.tx, Job2Args{Int: 123}, nil)
131 require.NoError(t, err)
132
133 job1 := requireInsertedTx[*riverpgxv5.Driver](ctx, t, bundle.tx, &Job1Args{}, nil)
134 require.False(t, bundle.mockT.Failed)
135 require.Equal(t, "foo", job1.Args.String)
136
137 job2 := requireInsertedTx[*riverpgxv5.Driver](ctx, t, bundle.tx, &Job2Args{}, nil)
138 require.False(t, bundle.mockT.Failed)
139 require.Equal(t, 123, job2.Args.Int)
140 })
141
142 t.Run("TransactionVisibility", func(t *testing.T) {
143 t.Parallel()
144

Callers

nothing calls this directly

Calls 12

LogOutputMethod · 0.95
NewClientFunction · 0.92
NewFunction · 0.92
NewMockTFunction · 0.92
TestTxPgxFunction · 0.92
requireInsertedTxFunction · 0.85
failureStringFunction · 0.85
InsertTxMethod · 0.80
InsertManyTxMethod · 0.80
HelperMethod · 0.65
RunMethod · 0.65
AddMethod · 0.45

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…