func New{{$workflowInterface}}Mock()

in codegen/template_bundle/template_files.go [4792:4856]


func New{{$workflowInterface}}Mock(t *testing.T) (workflow.{{$workflowInterface}}, *{{$mockType}}) {
	{{ if (len $instance.DependencyOrder) -}}
	ctrl := gomock.NewController(t)
	{{ else -}}
	{{camel $mockType}} := &{{$mockType}}{}
	{{ end }}

	initializedDefaultDependencies := &zanzibar.DefaultDependencies {
		Logger: zap.NewNop(),
		Scope: tally.NewTestScope("", make(map[string]string)),
	}
	initializedDefaultDependencies.ContextLogger = zanzibar.NewContextLogger(initializedDefaultDependencies.Logger)
	initializedDefaultDependencies.ContextExtractor = &zanzibar.ContextExtractors{}

	{{range $idx, $className := $instance.DependencyOrder}}
	{{- $moduleInstances := (index $instance.RecursiveDependencies $className)}}
	{{- $initializedDeps := printf "initialized%sDependencies" (title $className) }}
	{{$initializedDeps}} := &{{$className}}DependenciesNodes{}
	{{if eq $className $leafClass -}}
	{{camel $mockType}} := &{{$mockType}}{
		{{- range $idx, $dependency := $moduleInstances}}
		{{- $pkgInfo := $dependency.PackageInfo }}
		{{- if (index $leafWithFixture $dependency.InstanceName) }}
		{{$pkgInfo.QualifiedInstanceName}}: {{$pkgInfo.GeneratedPackageAlias}}mock.New(ctrl, fixture{{$pkgInfo.ImportPackageAlias}}.Fixture),
		{{- else }}
		{{$pkgInfo.QualifiedInstanceName}}: {{$pkgInfo.GeneratedPackageAlias}}mock.NewMock{{title $className}}(ctrl),
		{{- end }}
		{{- end }}
	}
	{{- range $idx, $dependency := $moduleInstances}}
	{{- $pkgInfo := $dependency.PackageInfo }}
	{{$initializedDeps}}.{{$pkgInfo.QualifiedInstanceName}} = {{camel $mockType}}.{{$pkgInfo.QualifiedInstanceName}}
	{{- end }}
	{{else -}}
	{{- range $idx, $dependency := $moduleInstances}}
	{{- $pkgInfo := $dependency.PackageInfo }}
	{{$initializedDeps}}.{{$pkgInfo.QualifiedInstanceName}} = {{$pkgInfo.ImportPackageAlias}}.{{$pkgInfo.ExportName}}(&{{$pkgInfo.ModulePackageAlias}}.Dependencies{
	Default: initializedDefaultDependencies,
	{{- range $className, $moduleInstances := $dependency.ResolvedDependencies}}
	{{$className | pascal}}: &{{$pkgInfo.ModulePackageAlias}}.{{$className | pascal}}Dependencies{
		{{- range $idy, $subDependency := $moduleInstances}}
		{{$subDependency.PackageInfo.QualifiedInstanceName}}: initialized{{$className | pascal}}Dependencies.{{$subDependency.PackageInfo.QualifiedInstanceName}},
		{{- end}}
	},
	{{- end}}
})
{{- end}}
	{{end}}
	{{end}}

	w := {{$instance.PackageInfo.PackageAlias}}.New{{$workflowInterface}}(
		&{{$classPkg}}.Dependencies{
			Default: initializedDefaultDependencies,
			{{- range $className, $moduleInstances := $instance.ResolvedDependencies}}
			{{$className | pascal}}: &{{$classPkg}}.{{$className | pascal}}Dependencies{
				{{- range $idy, $subDependency := $moduleInstances}}
				{{$subDependency.PackageInfo.QualifiedInstanceName}}: initialized{{$className | pascal}}Dependencies.{{$subDependency.PackageInfo.QualifiedInstanceName}},
				{{- end}}
			},
			{{- end}}
		},
	)

	return w, {{camel $mockType}}
}`)