gogmagog/models/models_test.go

44 lines
899 B
Go

package models_test
import (
"gitea.deepak.science/deepak/gogmagog/models"
"github.com/stretchr/testify/assert"
"testing"
)
type store interface {
SelectActions() ([]*models.Action, error)
SelectPlans() ([]*models.Plan, error)
}
type multiStore struct {
actions []*models.Action
plans []*models.Plan
}
func (ms *multiStore) SelectActions() ([]*models.Action, error) {
return ms.actions, nil
}
func (ms *multiStore) SelectPlans() ([]*models.Plan, error) {
return ms.plans, nil
}
func TestModelActions(t *testing.T) {
assert := assert.New(t)
a1 := &models.Action{ActionID: 3}
a2 := &models.Action{ActionID: 4}
p := &models.Plan{PlanID: 6}
ss := &multiStore{
[]*models.Action{a1, a2},
[]*models.Plan{p}}
m := models.New(ss)
actions, err := m.Actions()
assert.Nil(err)
assert.Equal(2, len(actions))
plans, err := m.Plans()
assert.Nil(err)
assert.Equal(1, len(plans))
}