1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677 |
- // Code generated by entc, DO NOT EDIT.
- package enttest
- import (
- "context"
- "todo/ent"
- // required by schema hooks.
- _ "todo/ent/runtime"
- "entgo.io/ent/dialect/sql/schema"
- )
- type (
- // TestingT is the interface that is shared between
- // testing.T and testing.B and used by enttest.
- TestingT interface {
- FailNow()
- Error(...interface{})
- }
- // Option configures client creation.
- Option func(*options)
- options struct {
- opts []ent.Option
- migrateOpts []schema.MigrateOption
- }
- )
- // WithOptions forwards options to client creation.
- func WithOptions(opts ...ent.Option) Option {
- return func(o *options) {
- o.opts = append(o.opts, opts...)
- }
- }
- // WithMigrateOptions forwards options to auto migration.
- func WithMigrateOptions(opts ...schema.MigrateOption) Option {
- return func(o *options) {
- o.migrateOpts = append(o.migrateOpts, opts...)
- }
- }
- func newOptions(opts []Option) *options {
- o := &options{}
- for _, opt := range opts {
- opt(o)
- }
- return o
- }
- // Open calls ent.Open and auto-run migration.
- func Open(t TestingT, driverName, dataSourceName string, opts ...Option) *ent.Client {
- o := newOptions(opts)
- c, err := ent.Open(driverName, dataSourceName, o.opts...)
- if err != nil {
- t.Error(err)
- t.FailNow()
- }
- if err := c.Schema.Create(context.Background(), o.migrateOpts...); err != nil {
- t.Error(err)
- t.FailNow()
- }
- return c
- }
- // NewClient calls ent.NewClient and auto-run migration.
- func NewClient(t TestingT, opts ...Option) *ent.Client {
- o := newOptions(opts)
- c := ent.NewClient(o.opts...)
- if err := c.Schema.Create(context.Background(), o.migrateOpts...); err != nil {
- t.Error(err)
- t.FailNow()
- }
- return c
- }
|