Start writing tests

This commit is contained in:
2020-04-16 14:49:28 -06:00
parent 051e5f4601
commit a5eec95e90
4 changed files with 67 additions and 0 deletions

View File

@ -45,6 +45,24 @@ func NewStore(filename string, genString GenString) (*Store, error) {
return store, nil
}
func NewMemoryStore(genString GenString) (*Store, error) {
pool, err := sqlitex.Open("file::memory:?mode=memory&cache=shared", 0, 10)
if err != nil {
return nil, err
}
store := &Store{
pool: pool,
genString: genString,
}
log.Println("creating schema")
err = store.createSchema()
if err != nil {
defer pool.Close()
return nil, err
}
return store, nil
}
func (s *Store) Close() error {
return s.pool.Close()
}

46
back/store_test.go Normal file
View File

@ -0,0 +1,46 @@
package back_test
import (
"context"
"testing"
"time"
"github.com/matryer/is"
"gitlab.codemonkeysoftware.net/b/henwen/back"
)
func TestNewMemoryStore(t *testing.T) {
is := is.New(t)
store, err := back.NewMemoryStore(back.SecureGenString)
is.NoErr(err)
is.True(store != nil)
store.Close()
}
func TestCreateEvent(t *testing.T) {
is := is.New(t)
store, err := back.NewMemoryStore(back.SecureGenString)
is.NoErr(err)
defer store.Close()
earliest := time.Date(2020, 04, 05, 0, 0, 0, 0, time.UTC)
latest := time.Date(2020, 04, 05, 0, 0, 0, 0, time.UTC)
const name = "abc"
const description = "def"
createResult, err := store.CreateEvent(context.Background(), back.CreateEventCommand{
Name: name,
Description: description,
EarliestDate: earliest,
LatestDate: latest,
})
is.NoErr(err)
metadataResult, err := store.GetEventMetadata(context.Background(), back.GetEventMetadataQuery{
AlphaID: createResult.AlphaID,
})
is.NoErr(err)
is.Equal(metadataResult.Name, name)
is.Equal(metadataResult.Description, description)
is.True(metadataResult.EarliestDate.Equal(earliest))
is.True(metadataResult.LatestDate.Equal(latest))
}