@@ -2145,15 +2145,27 @@ func Test_Client_JobDeleteMany(t *testing.T) {
21452145 job1 = testfactory .Job (ctx , t , bundle .exec , & testfactory.JobOpts {Schema : bundle .schema })
21462146 job2 = testfactory .Job (ctx , t , bundle .exec , & testfactory.JobOpts {Schema : bundle .schema })
21472147 job3 = testfactory .Job (ctx , t , bundle .exec , & testfactory.JobOpts {Schema : bundle .schema })
2148+ job4 = testfactory .Job (ctx , t , bundle .exec , & testfactory.JobOpts {Schema : bundle .schema })
21482149 )
21492150
21502151 deleteRes , err := client .JobDeleteMany (ctx , NewJobDeleteManyParams ().IDs (job1 .ID ))
21512152 require .NoError (t , err )
21522153 require .Equal (t , []int64 {job1 .ID }, sliceutil .Map (deleteRes .Jobs , func (job * rivertype.JobRow ) int64 { return job .ID }))
21532154
2155+ _ , err = bundle .exec .JobGetByID (ctx , & riverdriver.JobGetByIDParams {ID : job1 .ID , Schema : bundle .schema })
2156+ require .ErrorIs (t , rivertype .ErrNotFound , err )
2157+ _ , err = client .JobGet (ctx , job2 .ID )
2158+ require .NoError (t , err )
2159+ _ , err = client .JobGet (ctx , job3 .ID )
2160+ require .NoError (t , err )
2161+
21542162 deleteRes , err = client .JobDeleteMany (ctx , NewJobDeleteManyParams ().IDs (job2 .ID , job3 .ID ))
21552163 require .NoError (t , err )
21562164 require .Equal (t , []int64 {job2 .ID , job3 .ID }, sliceutil .Map (deleteRes .Jobs , func (job * rivertype.JobRow ) int64 { return job .ID }))
2165+
2166+ // job4 should still be present
2167+ _ , err = client .JobGet (ctx , job4 .ID )
2168+ require .NoError (t , err )
21572169 })
21582170
21592171 t .Run ("FiltersByIDAndPriorityAndKind" , func (t * testing.T ) {
@@ -2170,6 +2182,9 @@ func Test_Client_JobDeleteMany(t *testing.T) {
21702182 deleteRes , err := client .JobDeleteMany (ctx , NewJobDeleteManyParams ().IDs (job1 .ID , job2 .ID , job3 .ID ).Priorities (1 , 2 ).Kinds ("special_kind" ))
21712183 require .NoError (t , err )
21722184 require .Equal (t , []int64 {job1 .ID , job2 .ID }, sliceutil .Map (deleteRes .Jobs , func (job * rivertype.JobRow ) int64 { return job .ID }))
2185+
2186+ _ , err = client .JobGet (ctx , job3 .ID )
2187+ require .NoError (t , err )
21732188 })
21742189
21752190 t .Run ("FiltersByPriority" , func (t * testing.T ) {
@@ -2187,6 +2202,11 @@ func Test_Client_JobDeleteMany(t *testing.T) {
21872202 require .NoError (t , err )
21882203 require .Equal (t , []int64 {job1 .ID }, sliceutil .Map (deleteRes .Jobs , func (job * rivertype.JobRow ) int64 { return job .ID }))
21892204
2205+ _ , err = client .JobGet (ctx , job2 .ID )
2206+ require .NoError (t , err )
2207+ _ , err = client .JobGet (ctx , job3 .ID )
2208+ require .NoError (t , err )
2209+
21902210 deleteRes , err = client .JobDeleteMany (ctx , NewJobDeleteManyParams ().Priorities (2 , 3 ))
21912211 require .NoError (t , err )
21922212 require .Equal (t , []int64 {job2 .ID , job3 .ID }, sliceutil .Map (deleteRes .Jobs , func (job * rivertype.JobRow ) int64 { return job .ID }))
@@ -2208,6 +2228,9 @@ func Test_Client_JobDeleteMany(t *testing.T) {
22082228 // jobs ordered by ScheduledAt ASC by default
22092229 require .Equal (t , []int64 {job1 .ID , job2 .ID }, sliceutil .Map (deleteRes .Jobs , func (job * rivertype.JobRow ) int64 { return job .ID }))
22102230
2231+ _ , err = client .JobGet (ctx , job3 .ID )
2232+ require .NoError (t , err )
2233+
22112234 deleteRes , err = client .JobDeleteMany (ctx , NewJobDeleteManyParams ().Kinds ("test_kind_2" ))
22122235 require .NoError (t , err )
22132236 require .Equal (t , []int64 {job3 .ID }, sliceutil .Map (deleteRes .Jobs , func (job * rivertype.JobRow ) int64 { return job .ID }))
@@ -2229,6 +2252,9 @@ func Test_Client_JobDeleteMany(t *testing.T) {
22292252 // jobs ordered by ScheduledAt ASC by default
22302253 require .Equal (t , []int64 {job1 .ID , job2 .ID }, sliceutil .Map (deleteRes .Jobs , func (job * rivertype.JobRow ) int64 { return job .ID }))
22312254
2255+ _ , err = client .JobGet (ctx , job3 .ID )
2256+ require .NoError (t , err )
2257+
22322258 deleteRes , err = client .JobDeleteMany (ctx , NewJobDeleteManyParams ().Queues ("queue_2" ))
22332259 require .NoError (t , err )
22342260 require .Equal (t , []int64 {job3 .ID }, sliceutil .Map (deleteRes .Jobs , func (job * rivertype.JobRow ) int64 { return job .ID }))
@@ -2250,10 +2276,18 @@ func Test_Client_JobDeleteMany(t *testing.T) {
22502276 require .NoError (t , err )
22512277 require .Equal (t , []int64 {job1 .ID , job2 .ID }, sliceutil .Map (deleteRes .Jobs , func (job * rivertype.JobRow ) int64 { return job .ID }))
22522278
2279+ _ , err = client .JobGet (ctx , job3 .ID )
2280+ require .NoError (t , err )
2281+ _ , err = client .JobGet (ctx , job4 .ID )
2282+ require .NoError (t , err )
2283+
22532284 deleteRes , err = client .JobDeleteMany (ctx , NewJobDeleteManyParams ().States (rivertype .JobStateCompleted ))
22542285 require .NoError (t , err )
22552286 require .Equal (t , []int64 {job3 .ID }, sliceutil .Map (deleteRes .Jobs , func (job * rivertype.JobRow ) int64 { return job .ID }))
22562287
2288+ _ , err = client .JobGet (ctx , job4 .ID )
2289+ require .NoError (t , err )
2290+
22572291 // All by default:
22582292 deleteRes , err = client .JobDeleteMany (ctx , NewJobDeleteManyParams ())
22592293 require .NoError (t , err )
@@ -2291,6 +2325,9 @@ func Test_Client_JobDeleteMany(t *testing.T) {
22912325 deleteRes , err := client .JobDeleteMany (ctx , NewJobDeleteManyParams ().IDs (job1 .ID , job2 .ID ))
22922326 require .NoError (t , err )
22932327 require .Equal (t , []int64 {job1 .ID }, sliceutil .Map (deleteRes .Jobs , func (job * rivertype.JobRow ) int64 { return job .ID }))
2328+
2329+ _ , err = client .JobGet (ctx , job2 .ID )
2330+ require .NoError (t , err )
22942331 })
22952332
22962333 t .Run ("WithCancelledContext" , func (t * testing.T ) {
@@ -2357,6 +2394,13 @@ func Test_Client_JobDeleteManyTx(t *testing.T) {
23572394 require .NoError (t , err )
23582395 require .Equal (t , []int64 {job1 .ID }, sliceutil .Map (deleteRes .Jobs , func (job * rivertype.JobRow ) int64 { return job .ID }))
23592396
2397+ _ , err = bundle .execTx .JobGetByID (ctx , & riverdriver.JobGetByIDParams {ID : job1 .ID , Schema : bundle .schema })
2398+ require .ErrorIs (t , rivertype .ErrNotFound , err )
2399+ _ , err = bundle .execTx .JobGetByID (ctx , & riverdriver.JobGetByIDParams {ID : job2 .ID , Schema : bundle .schema })
2400+ require .NoError (t , err )
2401+ _ , err = bundle .execTx .JobGetByID (ctx , & riverdriver.JobGetByIDParams {ID : job3 .ID , Schema : bundle .schema })
2402+ require .NoError (t , err )
2403+
23602404 deleteRes , err = client .JobDeleteManyTx (ctx , bundle .tx , NewJobDeleteManyParams ().IDs (job2 .ID , job3 .ID ))
23612405 require .NoError (t , err )
23622406 require .Equal (t , []int64 {job2 .ID , job3 .ID }, sliceutil .Map (deleteRes .Jobs , func (job * rivertype.JobRow ) int64 { return job .ID }))
@@ -2365,6 +2409,8 @@ func Test_Client_JobDeleteManyTx(t *testing.T) {
23652409 require .ErrorIs (t , rivertype .ErrNotFound , err )
23662410 _ , err = bundle .execTx .JobGetByID (ctx , & riverdriver.JobGetByIDParams {ID : job2 .ID , Schema : bundle .schema })
23672411 require .ErrorIs (t , rivertype .ErrNotFound , err )
2412+ _ , err = bundle .execTx .JobGetByID (ctx , & riverdriver.JobGetByIDParams {ID : job3 .ID , Schema : bundle .schema })
2413+ require .ErrorIs (t , rivertype .ErrNotFound , err )
23682414
23692415 // Jobs present because other transaction doesn't see the deletion.
23702416 _ , err = bundle .exec .JobGetByID (ctx , & riverdriver.JobGetByIDParams {ID : job1 .ID , Schema : bundle .schema })
0 commit comments