Files
openaccounting-server/core/model/org_test.go
Patrick Nagurny e2dd29259f initial commit
2018-10-19 15:31:41 -04:00

75 lines
1.3 KiB
Go

package model
import (
"errors"
"github.com/openaccounting/oa-server/core/model/db"
"github.com/openaccounting/oa-server/core/model/types"
"github.com/stretchr/testify/assert"
"testing"
)
type TdOrg struct {
db.Datastore
}
func (td *TdOrg) GetOrg(orgId string, userId string) (*types.Org, error) {
if userId == "1" {
return &types.Org{
Id: "1",
Name: "MyOrg",
Currency: "USD",
Precision: 2,
}, nil
} else {
return nil, errors.New("not found")
}
}
func (td *TdOrg) UpdateOrg(org *types.Org) error {
return nil
}
func TestUpdateOrg(t *testing.T) {
tests := map[string]struct {
err error
org *types.Org
userId string
}{
"success": {
err: nil,
org: &types.Org{
Id: "1",
Name: "MyOrg2",
},
userId: "1",
},
"access denied": {
err: errors.New("access denied"),
org: &types.Org{
Id: "1",
Name: "MyOrg2",
},
userId: "2",
},
"error": {
err: errors.New("name required"),
org: &types.Org{
Id: "1",
Name: "",
},
userId: "1",
},
}
for name, test := range tests {
t.Logf("Running test case: %s", name)
td := &TdOrg{}
model := NewModel(td, nil, types.Config{})
err := model.UpdateOrg(test.org, test.userId)
assert.Equal(t, test.err, err)
}
}