72 lines
2.1 KiB
Go
72 lines
2.1 KiB
Go
package adapters
|
|
|
|
import (
|
|
"testing"
|
|
|
|
"git.loyso.art/frx/kurious/internal/common/nullable"
|
|
"git.loyso.art/frx/kurious/internal/kurious/domain"
|
|
|
|
"github.com/stretchr/testify/suite"
|
|
)
|
|
|
|
func TestSqilteOrganizations(t *testing.T) {
|
|
suite.Run(t, new(sqliteOrganzationRepositorySuite))
|
|
}
|
|
|
|
type sqliteOrganzationRepositorySuite struct {
|
|
sqliteBaseSuite
|
|
}
|
|
|
|
func (s *sqliteOrganzationRepositorySuite) TearDownTest() {
|
|
_ = s.connection.db.MustExecContext(s.ctx, "DELETE FROM organizations")
|
|
}
|
|
|
|
func (s *sqliteOrganzationRepositorySuite) TestGet() {
|
|
var orgdb organizationDB
|
|
err := s.connection.db.GetContext(
|
|
s.ctx, &orgdb,
|
|
`INSERT INTO organizations (`+organizationColumnsStr+`)`+
|
|
` VALUES ("test-id", "test-ext-id", "test-alias", "test-name", "test-site", "test-logo", CURRENT_TIMESTAMP, CURRENT_TIMESTAMP, NULL)`+
|
|
` RETURNING `+organizationColumnsStr,
|
|
)
|
|
s.NoError(err)
|
|
|
|
expectedOrganization := orgdb.AsDomain()
|
|
|
|
getParams := domain.GetOrganizationParams{
|
|
ID: nullable.NewValue(orgdb.ID),
|
|
}
|
|
gotOrganization, err := s.connection.Organization().Get(s.ctx, getParams)
|
|
s.NoError(err)
|
|
|
|
s.Equal(expectedOrganization, gotOrganization)
|
|
}
|
|
|
|
func (s *sqliteOrganzationRepositorySuite) TestCreate() {
|
|
expectedOrganization := domain.Organization{
|
|
ID: "test-id",
|
|
ExternalID: nullable.NewValue("test-ext-id"),
|
|
Alias: "test-alias",
|
|
Name: "test-name",
|
|
Site: "test-site",
|
|
LogoLink: "test-logo",
|
|
}
|
|
|
|
gotOrganization, err := s.connection.Organization().Create(s.ctx, domain.CreateOrganizationParams{
|
|
ID: expectedOrganization.ID,
|
|
ExternalID: expectedOrganization.ExternalID,
|
|
Alias: expectedOrganization.Alias,
|
|
Name: expectedOrganization.Name,
|
|
Site: expectedOrganization.Site,
|
|
LogoLink: expectedOrganization.LogoLink,
|
|
})
|
|
s.NoError(err)
|
|
s.NotEmpty(gotOrganization.CreatedAt)
|
|
s.NotEmpty(gotOrganization.UpdatedAt)
|
|
s.Empty(gotOrganization.DeletedAt)
|
|
|
|
expectedOrganization.CreatedAt = gotOrganization.CreatedAt
|
|
expectedOrganization.UpdatedAt = gotOrganization.UpdatedAt
|
|
s.Equal(expectedOrganization, gotOrganization)
|
|
}
|