spechelper

package
v0.151.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: May 11, 2024 License: Apache-2.0 Imports: 5 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	ExampleStorage = testcase.Var[*someextres.Storage]{
		ID: "storage component (external resource supplier)",
		Init: func(t *testcase.T) *someextres.Storage {
			storage, err := someextres.NewStorage(os.Getenv(`TEST_DATABASE_URL`))
			t.Must.Nil(err)
			t.Defer(storage.Close)
			return storage
		},
	}
	ExampleStorageGet = func(t *testcase.T) *someextres.Storage {

		return ExampleStorage.Get(t)
	}
	ExampleMyDomainUseCase = testcase.Var[*mydomain.MyUseCase]{
		ID: "my domain rule (domain interactor)",
		Init: func(t *testcase.T) *mydomain.MyUseCase {
			return &mydomain.MyUseCase{Storage: ExampleStorageGet(t)}
		},
	}
	ExampleMyDomainUseCaseGet = func(t *testcase.T) *mydomain.MyUseCase {

		return ExampleMyDomainUseCase.Get(t)
	}
)
View Source
var Storage = testcase.Var[mydomain.Storage]{
	ID: `storage`,
	OnLet: func(s *testcase.Spec, v testcase.Var[mydomain.Storage]) {

		connstr, ok := os.LookupEnv(`TEST_DB_CONNECTION_URL`)

		if !ok {
			s.NoSideEffect()

			v.Let(s, func(t *testcase.T) mydomain.Storage {
				storage, err := someextres.NewStorage(connstr)
				t.Must.NoError(err)
				return storage
			})
			return
		}

		s.HasSideEffect()

		s.Sequential()

		v.Let(s, func(t *testcase.T) mydomain.Storage {
			return memory.NewStorage()
		})
	},
}

Functions

func GivenWeHaveSomething

func GivenWeHaveSomething(s *testcase.Spec) testcase.Var[any]

Types

This section is empty.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL