Generate schedule client & handle mocks

Hey there,
Im testing Schedules, generating mocks with GitHub - uber-go/mock: GoMock is a mocking framework for the Go programming language..

	sh := s.temporalClient.ScheduleClient().GetHandle(ctx, scheduleID)
	_, err := sh.Describe(ctx)
	if err != nil {
		_, err = s.temporalClient.ScheduleClient().Create(ctx, schedulePolicy)
	} else {
		err = sh.Update(ctx, client.ScheduleUpdateOptions{
			DoUpdate: func(input client.ScheduleUpdateInput) (*client.ScheduleUpdate, error) {
				input.Description.Schedule.Action = schedulePolicy.Action
				input.Description.Schedule.Spec = &schedulePolicy.Spec
				input.Description.Schedule.Policy.Overlap = schedulePolicy.Overlap
				input.Description.Schedule.Policy.CatchupWindow = schedulePolicy.CatchupWindow
				return &client.ScheduleUpdate{
					Schedule: &input.Description.Schedule,
				}, nil

	if err != nil {
		return err

	if options.Enabled {
		err = sh.Unpause(ctx, client.ScheduleUnpauseOptions{})
	} else {
		err = sh.Pause(ctx, client.SchedulePauseOptions{})

Above is a fragment of where I use schedule client & handle repeatedly, what I want to achieve is to have the appropriate config for gomock to generate the objects to return by the schedule client and still be able to assert on those.
Looked up but only seems to test the workflow itself.
Will appreciate guidance.