saasitone/services/services_test.go

56 lines
891 B
Go
Raw Normal View History

2021-12-18 13:57:34 -08:00
package services
import (
"context"
"net/http"
"net/http/httptest"
"os"
"strings"
"testing"
"goweb/config"
"goweb/ent"
"github.com/labstack/echo/v4"
)
var (
c *Container
ctx echo.Context
usr *ent.User
rec *httptest.ResponseRecorder
)
func TestMain(m *testing.M) {
// Set the environment to test
config.SwitchEnvironment(config.EnvTest)
// Create a new container
c = NewContainer()
// Create a web context
req := httptest.NewRequest(http.MethodPost, "/", strings.NewReader(""))
rec = httptest.NewRecorder()
ctx = c.Web.NewContext(req, rec)
// Create a test user
var err error
usr, err = c.ORM.User.
Create().
SetEmail("test@test.dev").
SetPassword("abc").
SetName("Test User").
Save(context.Background())
if err != nil {
panic(err)
}
// Run tests
exitVal := m.Run()
2021-12-19 10:22:44 -08:00
if err := c.Shutdown(); err != nil {
panic(err)
}
2021-12-18 13:57:34 -08:00
os.Exit(exitVal)
}