github.com/status-im/status-go@v1.1.0/services/wallet/async/multi_client_scheduler_test.go (about) 1 package async 2 3 import ( 4 "testing" 5 6 "github.com/stretchr/testify/require" 7 ) 8 9 func Test_makeTaskType(t *testing.T) { 10 type args struct { 11 firstRequestID int32 12 secondRequestID int32 13 firstOriginalID int32 14 secondOriginalID int32 15 policy ReplacementPolicy 16 } 17 tests := []struct { 18 name string 19 args args 20 wantDifferentIDs bool 21 }{ 22 { 23 name: "Different requestID", 24 args: args{ 25 firstRequestID: 1, 26 secondRequestID: 2, 27 firstOriginalID: 1, 28 secondOriginalID: 1, 29 policy: ReplacementPolicyCancelOld, 30 }, 31 wantDifferentIDs: true, 32 }, 33 { 34 name: "Different originalID", 35 args: args{ 36 firstRequestID: 1, 37 secondRequestID: 1, 38 firstOriginalID: 2, 39 secondOriginalID: 3, 40 policy: ReplacementPolicyCancelOld, 41 }, 42 wantDifferentIDs: true, 43 }, 44 { 45 name: "Same requestID and originalID", 46 args: args{ 47 firstRequestID: 1, 48 secondRequestID: 1, 49 firstOriginalID: 1, 50 secondOriginalID: 1, 51 policy: ReplacementPolicyCancelOld, 52 }, 53 wantDifferentIDs: false, 54 }, 55 } 56 for _, tt := range tests { 57 t.Run(tt.name, func(t *testing.T) { 58 firstTT := makeTaskType( 59 tt.args.firstRequestID, 60 TaskType{ 61 ID: int64(tt.args.firstOriginalID), 62 Policy: tt.args.policy, 63 }) 64 secondTT := makeTaskType( 65 tt.args.secondRequestID, 66 TaskType{ 67 ID: int64(tt.args.secondOriginalID), 68 Policy: tt.args.policy, 69 }) 70 if tt.wantDifferentIDs { 71 require.NotEqual(t, firstTT.ID, secondTT.ID) 72 } else { 73 require.Equal(t, firstTT.ID, secondTT.ID) 74 } 75 require.Equal(t, firstTT.Policy, secondTT.Policy) 76 }) 77 } 78 }