@@ -31,6 +31,7 @@ import (
31
31
"testing"
32
32
"time"
33
33
34
+ "github.com/stretchr/testify/mock"
34
35
"github.com/stretchr/testify/require"
35
36
)
36
37
@@ -236,3 +237,57 @@ func TestWorkflowStartTimeInsideTestWorkflow(t *testing.T) {
236
237
require .NoError (t , env .GetWorkflowResult (& timestamp ))
237
238
require .Equal (t , env .Now ().Unix (), timestamp )
238
239
}
240
+
241
+ func TestActivityAssertCalled (t * testing.T ) {
242
+ testSuite := & WorkflowTestSuite {}
243
+ env := testSuite .NewTestWorkflowEnvironment ()
244
+
245
+ env .RegisterActivity (namedActivity )
246
+ env .OnActivity (namedActivity , mock .Anything , mock .Anything ).Return ("Mock!" , nil )
247
+
248
+ env .ExecuteWorkflow (func (ctx Context , arg1 string ) (string , error ) {
249
+ ctx = WithLocalActivityOptions (ctx , LocalActivityOptions {
250
+ ScheduleToCloseTimeout : time .Hour ,
251
+ StartToCloseTimeout : time .Hour ,
252
+ })
253
+ var result string
254
+ err := ExecuteLocalActivity (ctx , "namedActivity" , arg1 ).Get (ctx , & result )
255
+ if err != nil {
256
+ return "" , err
257
+ }
258
+ return result , nil
259
+ }, "Hello" )
260
+
261
+ require .NoError (t , env .GetWorkflowError ())
262
+ var result string
263
+ err := env .GetWorkflowResult (& result )
264
+ require .NoError (t , err )
265
+
266
+ require .Equal (t , "Mock!" , result )
267
+ env .AssertCalled (t , "namedActivity" , mock .Anything , "Hello" )
268
+ env .AssertNotCalled (t , "namedActivity" , mock .Anything , "Bye" )
269
+ }
270
+
271
+ func TestActivityAssertNumberOfCalls (t * testing.T ) {
272
+ testSuite := & WorkflowTestSuite {}
273
+ env := testSuite .NewTestWorkflowEnvironment ()
274
+
275
+ env .RegisterActivity (namedActivity )
276
+ env .OnActivity (namedActivity , mock .Anything , mock .Anything ).Return ("Mock!" , nil )
277
+
278
+ env .ExecuteWorkflow (func (ctx Context , arg1 string ) (string , error ) {
279
+ ctx = WithLocalActivityOptions (ctx , LocalActivityOptions {
280
+ ScheduleToCloseTimeout : time .Hour ,
281
+ StartToCloseTimeout : time .Hour ,
282
+ })
283
+ var result string
284
+ _ = ExecuteLocalActivity (ctx , "namedActivity" , arg1 ).Get (ctx , & result )
285
+ _ = ExecuteLocalActivity (ctx , "namedActivity" , arg1 ).Get (ctx , & result )
286
+ _ = ExecuteLocalActivity (ctx , "namedActivity" , arg1 ).Get (ctx , & result )
287
+ return result , nil
288
+ }, "Hello" )
289
+
290
+ require .NoError (t , env .GetWorkflowError ())
291
+ env .AssertNumberOfCalls (t , "namedActivity" , 3 )
292
+ env .AssertNumberOfCalls (t , "otherActivity" , 0 )
293
+ }
0 commit comments