package testkit

import (
	"testing"

	"github.com/stretchr/testify/require"
)

func TestIMRouteDependenciesDoNotWrapNilRuntimeCollaborators(t *testing.T) {
	dependencies := imRouteDependencies(nil)

	require.Nil(t, dependencies.AgentNotifier)
	require.Nil(t, dependencies.StreamWriter)
}

func TestWorkflowPlanRouteDependenciesStayDisabledWithoutRuntime(t *testing.T) {
	dependencies := workflowPlanRouteDependencies(nil)

	require.Nil(t, dependencies.AuthStore)
	require.Nil(t, dependencies.WorkspaceStore)
	require.Nil(t, dependencies.Service)
}

func TestWorkflowBindingRouteDependenciesStayDisabledWithoutRuntime(t *testing.T) {
	dependencies := workflowBindingRouteDependencies(nil)

	require.Nil(t, dependencies.AuthStore)
	require.Nil(t, dependencies.WorkspaceStore)
	require.Nil(t, dependencies.Service)
}

func TestWorkflowInvocationRouteDependenciesStayDisabledWithoutRuntime(t *testing.T) {
	dependencies := workflowInvocationRouteDependencies(nil)

	require.Nil(t, dependencies.AuthStore)
	require.Nil(t, dependencies.WorkspaceStore)
	require.Nil(t, dependencies.Service)
}

func TestWorkflowRunRouteDependenciesStayDisabledWithoutRuntime(t *testing.T) {
	dependencies := workflowRunRouteDependencies(nil)

	require.Nil(t, dependencies.AuthStore)
	require.Nil(t, dependencies.WorkspaceStore)
	require.Nil(t, dependencies.Service)
}
