本文整理汇总了Golang中github.com/corestoreio/csfw/storage/dbr.NewNullString函数的典型用法代码示例。如果您正苦于以下问题:Golang NewNullString函数的具体用法?Golang NewNullString怎么用?Golang NewNullString使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了NewNullString函数的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Golang代码示例。
示例1: TestToJSON
func TestToJSON(t *testing.T) {
s, err := store.NewStore(
&store.TableStore{StoreID: 1, Code: dbr.NewNullString("de"), WebsiteID: 1, GroupID: 1, Name: "Germany", SortOrder: 10, IsActive: true},
&store.TableWebsite{WebsiteID: 1, Code: dbr.NewNullString("admin"), Name: dbr.NewNullString("Admin"), SortOrder: 0, DefaultGroupID: 0, IsDefault: dbr.NewNullBool(false)},
&store.TableGroup{GroupID: 1, WebsiteID: 1, Name: "Default", RootCategoryID: 0, DefaultStoreID: 0},
)
assert.NoError(t, err)
var buf bytes.Buffer
assert.NoError(t, s.ToJSON(&buf))
tsd := TestToJSONStore{}
assert.NoError(t, json.Unmarshal(buf.Bytes(), &tsd))
want := TestToJSONStore{Code: "de", GroupID: 1, IsActive: true, Name: "Germany", SortOrder: 10, StoreID: 1, WebsiteID: 1}
assert.Equal(t, want, tsd)
var ds store.TableStore
assert.NoError(t, json.NewDecoder(&buf).Decode(&ds))
assert.Equal(t, "de", ds.Code.String)
assert.Equal(t, "Germany", ds.Name)
assert.Equal(t, int64(1), ds.WebsiteID)
}
开发者ID:levcom,项目名称:csfw,代码行数:26,代码来源:codec_test.go
示例2: TestNewWebsiteStoreIDError
func TestNewWebsiteStoreIDError(t *testing.T) {
w, err := store.NewWebsite(
&store.TableWebsite{WebsiteID: 1, Code: dbr.NewNullString("euro"), Name: dbr.NewNullString("Europe"), SortOrder: 0, DefaultGroupID: 1, IsDefault: dbr.NewNullBool(true)},
)
assert.NoError(t, err)
assert.Exactly(t, scope.UnavailableStoreID, w.StoreID())
}
开发者ID:levcom,项目名称:csfw,代码行数:7,代码来源:website_test.go
示例3: TestStoreCodeFromClaimFullToken
func TestStoreCodeFromClaimFullToken(t *testing.T) {
s := store.MustNewStore(
&store.TableStore{StoreID: 1, Code: dbr.NewNullString("de"), WebsiteID: 1, GroupID: 1, Name: "Germany", SortOrder: 10, IsActive: true},
&store.TableWebsite{WebsiteID: 1, Code: dbr.NewNullString("admin"), Name: dbr.NewNullString("Admin"), SortOrder: 0, DefaultGroupID: 0, IsDefault: dbr.NewNullBool(false)},
&store.TableGroup{GroupID: 1, WebsiteID: 1, Name: "Default", RootCategoryID: 0, DefaultStoreID: 0},
)
token := jwt.New(jwt.SigningMethodHS256)
s.AddClaim(token.Claims)
so, err := store.CodeFromClaim(token.Claims)
assert.NoError(t, err)
assert.EqualValues(t, "de", so.StoreCode())
so, err = store.CodeFromClaim(nil)
assert.EqualError(t, store.ErrStoreNotFound, err.Error())
assert.Nil(t, so.Website)
assert.Nil(t, so.Group)
assert.Nil(t, so.Store)
token2 := jwt.New(jwt.SigningMethodHS256)
token2.Claims[store.ParamName] = "Invalid Cod€"
so, err = store.CodeFromClaim(token2.Claims)
assert.EqualError(t, store.ErrStoreCodeInvalid, err.Error())
assert.Nil(t, so.Website)
assert.Nil(t, so.Group)
assert.Nil(t, so.Store)
}
开发者ID:levcom,项目名称:csfw,代码行数:27,代码来源:code_test.go
示例4: TestNewServiceGroups
func TestNewServiceGroups(t *testing.T) {
serviceGroups := storemock.MustNewService(scope.Option{}, func(ms *storemock.Storage) {
ms.MockGroupSlice = func() (store.GroupSlice, error) {
return store.GroupSlice{}, nil
}
ms.MockStore = func() (*store.Store, error) {
return store.NewStore(
&store.TableStore{StoreID: 1, Code: dbr.NewNullString("de"), WebsiteID: 1, GroupID: 1, Name: "Germany", SortOrder: 10, IsActive: true},
&store.TableWebsite{WebsiteID: 1, Code: dbr.NewNullString("euro"), Name: dbr.NewNullString("Europe"), SortOrder: 0, DefaultGroupID: 1, IsDefault: dbr.NewNullBool(true)},
&store.TableGroup{GroupID: 1, WebsiteID: 1, Name: "DACH Group", RootCategoryID: 2, DefaultStoreID: 2},
)
}
})
// call it twice to test internal caching
ss, err := serviceGroups.Groups()
assert.NotNil(t, ss)
assert.NoError(t, err)
assert.Len(t, ss, 0)
ss, err = serviceGroups.Groups()
assert.NotNil(t, ss)
assert.NoError(t, err)
assert.Len(t, ss, 0)
assert.False(t, serviceGroups.IsCacheEmpty())
serviceGroups.ClearCache()
assert.True(t, serviceGroups.IsCacheEmpty())
}
开发者ID:levcom,项目名称:csfw,代码行数:29,代码来源:service_test.go
示例5: TestNewStoreErrorIncorrectWebsite
func TestNewStoreErrorIncorrectWebsite(t *testing.T) {
s, err := store.NewStore(
&store.TableStore{StoreID: 1, Code: dbr.NewNullString("de"), WebsiteID: 1, GroupID: 1, Name: "Germany", SortOrder: 10, IsActive: true},
&store.TableWebsite{WebsiteID: 2, Code: dbr.NewNullString("euro"), Name: dbr.NewNullString("Europe"), SortOrder: 0, DefaultGroupID: 1, IsDefault: dbr.NewNullBool(true)},
&store.TableGroup{GroupID: 1, WebsiteID: 1, Name: "UK Group", RootCategoryID: 2, DefaultStoreID: 4},
)
assert.Nil(t, s)
assert.EqualError(t, store.ErrStoreIncorrectWebsite, err.Error())
}
开发者ID:levcom,项目名称:csfw,代码行数:9,代码来源:store_test.go
示例6: TestNewGroupSetStores
func TestNewGroupSetStores(t *testing.T) {
g, err := store.NewGroup(
&store.TableGroup{GroupID: 1, WebsiteID: 1, Name: "DACH Group", RootCategoryID: 2, DefaultStoreID: 2},
nil, // this is just for to confuse the NewGroup ApplyOption function
store.SetGroupStores(
store.TableStoreSlice{
&store.TableStore{StoreID: 0, Code: dbr.NewNullString("admin"), WebsiteID: 0, GroupID: 0, Name: "Admin", SortOrder: 0, IsActive: true},
&store.TableStore{StoreID: 5, Code: dbr.NewNullString("au"), WebsiteID: 2, GroupID: 3, Name: "Australia", SortOrder: 10, IsActive: true},
&store.TableStore{StoreID: 1, Code: dbr.NewNullString("de"), WebsiteID: 1, GroupID: 1, Name: "Germany", SortOrder: 10, IsActive: true},
&store.TableStore{StoreID: 4, Code: dbr.NewNullString("uk"), WebsiteID: 1, GroupID: 2, Name: "UK", SortOrder: 10, IsActive: true},
&store.TableStore{StoreID: 2, Code: dbr.NewNullString("at"), WebsiteID: 1, GroupID: 1, Name: "Österreich", SortOrder: 20, IsActive: true},
&store.TableStore{StoreID: 6, Code: dbr.NewNullString("nz"), WebsiteID: 2, GroupID: 3, Name: "Kiwi", SortOrder: 30, IsActive: true},
&store.TableStore{StoreID: 3, Code: dbr.NewNullString("ch"), WebsiteID: 1, GroupID: 1, Name: "Schweiz", SortOrder: 30, IsActive: true},
},
&store.TableWebsite{WebsiteID: 1, Code: dbr.NewNullString("euro"), Name: dbr.NewNullString("Europe"), SortOrder: 0, DefaultGroupID: 1, IsDefault: dbr.NewNullBool(true)},
),
)
assert.NoError(t, err)
assert.NotNil(t, g.Stores)
assert.EqualValues(t, utils.StringSlice{"de", "at", "ch"}, g.Stores.Codes())
gDefaultStore, err := g.DefaultStore()
assert.NoError(t, err)
assert.EqualValues(t, "euro", gDefaultStore.Website.Data.Code.String)
assert.EqualValues(t, "DACH Group", gDefaultStore.Group.Data.Name)
assert.EqualValues(t, "at", gDefaultStore.Data.Code.String)
}
开发者ID:levcom,项目名称:csfw,代码行数:29,代码来源:group_test.go
示例7: TestMarshalJSON
func TestMarshalJSON(t *testing.T) {
s := store.MustNewStore(
&store.TableStore{StoreID: 1, Code: dbr.NewNullString("de"), WebsiteID: 1, GroupID: 1, Name: "Germany", SortOrder: 10, IsActive: true},
&store.TableWebsite{WebsiteID: 1, Code: dbr.NewNullString("admin"), Name: dbr.NewNullString("Admin"), SortOrder: 0, DefaultGroupID: 0, IsDefault: dbr.NewNullBool(false)},
&store.TableGroup{GroupID: 1, WebsiteID: 1, Name: "Default", RootCategoryID: 0, DefaultStoreID: 0},
)
jdata, err := json.Marshal(s)
assert.NoError(t, err)
have := []byte(`{"StoreID":1,"Code":"de","WebsiteID":1,"GroupID":1,"Name":"Germany","SortOrder":10,"IsActive":true}`)
assert.Equal(t, have, jdata, "Have: %s\nWant: %s", have, jdata)
}
开发者ID:levcom,项目名称:csfw,代码行数:12,代码来源:store_test.go
示例8: TestNewGroupSetStoresErrorWebsiteIncorrect
func TestNewGroupSetStoresErrorWebsiteIncorrect(t *testing.T) {
g, err := store.NewGroup(
&store.TableGroup{GroupID: 1, WebsiteID: 1, Name: "DACH Group", RootCategoryID: 2, DefaultStoreID: 2},
store.SetGroupStores(
store.TableStoreSlice{
&store.TableStore{StoreID: 0, Code: dbr.NewNullString("admin"), WebsiteID: 0, GroupID: 0, Name: "Admin", SortOrder: 0, IsActive: true},
},
&store.TableWebsite{WebsiteID: 2, Code: dbr.NewNullString("oz"), Name: dbr.NewNullString("OZ"), SortOrder: 20, DefaultGroupID: 3, IsDefault: dbr.NewNullBool(false)},
),
)
assert.Nil(t, g)
assert.EqualError(t, store.ErrGroupWebsiteIntegrityFailed, err.Error())
}
开发者ID:levcom,项目名称:csfw,代码行数:13,代码来源:group_test.go
示例9: TestNewWebsiteSetGroupsStores
func TestNewWebsiteSetGroupsStores(t *testing.T) {
w, err := store.NewWebsite(
&store.TableWebsite{WebsiteID: 1, Code: dbr.NewNullString("euro"), Name: dbr.NewNullString("Europe"), SortOrder: 0, DefaultGroupID: 1, IsDefault: dbr.NewNullBool(true)},
store.SetWebsiteGroupsStores(
store.TableGroupSlice{
&store.TableGroup{GroupID: 3, WebsiteID: 2, Name: "Australia", RootCategoryID: 2, DefaultStoreID: 5},
&store.TableGroup{GroupID: 1, WebsiteID: 1, Name: "DACH Group", RootCategoryID: 2, DefaultStoreID: 2},
&store.TableGroup{GroupID: 0, WebsiteID: 0, Name: "Default", RootCategoryID: 0, DefaultStoreID: 0},
&store.TableGroup{GroupID: 2, WebsiteID: 1, Name: "UK Group", RootCategoryID: 2, DefaultStoreID: 4},
},
store.TableStoreSlice{
&store.TableStore{StoreID: 0, Code: dbr.NewNullString("admin"), WebsiteID: 0, GroupID: 0, Name: "Admin", SortOrder: 0, IsActive: true},
&store.TableStore{StoreID: 5, Code: dbr.NewNullString("au"), WebsiteID: 2, GroupID: 3, Name: "Australia", SortOrder: 10, IsActive: true},
&store.TableStore{StoreID: 1, Code: dbr.NewNullString("de"), WebsiteID: 1, GroupID: 1, Name: "Germany", SortOrder: 10, IsActive: true},
&store.TableStore{StoreID: 4, Code: dbr.NewNullString("uk"), WebsiteID: 1, GroupID: 2, Name: "UK", SortOrder: 10, IsActive: true},
&store.TableStore{StoreID: 2, Code: dbr.NewNullString("at"), WebsiteID: 1, GroupID: 1, Name: "Österreich", SortOrder: 20, IsActive: true},
&store.TableStore{StoreID: 6, Code: dbr.NewNullString("nz"), WebsiteID: 2, GroupID: 3, Name: "Kiwi", SortOrder: 30, IsActive: true},
&store.TableStore{StoreID: 3, Code: dbr.NewNullString("ch"), WebsiteID: 1, GroupID: 1, Name: "Schweiz", SortOrder: 30, IsActive: true},
},
),
)
assert.NoError(t, err)
dg, err := w.DefaultGroup()
assert.NotNil(t, dg)
assert.EqualValues(t, "DACH Group", dg.Data.Name, "get default group: %#v", dg)
assert.NoError(t, err)
ds, err := w.DefaultStore()
assert.NotNil(t, ds)
assert.EqualValues(t, "at", ds.Data.Code.String, "get default store: %#v", ds)
assert.NoError(t, err)
assert.NotNil(t, dg.Stores)
assert.EqualValues(t, utils.StringSlice{"de", "at", "ch"}, dg.Stores.Codes())
for _, st := range dg.Stores {
assert.EqualValues(t, "DACH Group", st.Group.Data.Name)
assert.EqualValues(t, "Europe", st.Website.Data.Name.String)
}
assert.NotNil(t, w.Stores)
assert.EqualValues(t, utils.StringSlice{"de", "uk", "at", "ch"}, w.Stores.Codes())
assert.NotNil(t, w.Groups)
assert.EqualValues(t, utils.Int64Slice{1, 2}, w.Groups.IDs())
assert.Exactly(t, int64(2), w.StoreID())
assert.Exactly(t, int64(1), w.GroupID())
assert.Equal(t, "euro", w.WebsiteCode())
}
开发者ID:levcom,项目名称:csfw,代码行数:51,代码来源:website_test.go
示例10: TestNewWebsite
func TestNewWebsite(t *testing.T) {
w, err := store.NewWebsite(
&store.TableWebsite{WebsiteID: 1, Code: dbr.NewNullString("euro"), Name: dbr.NewNullString("Europe"), SortOrder: 0, DefaultGroupID: 1, IsDefault: dbr.NewNullBool(true)},
)
assert.NoError(t, err)
assert.Equal(t, "euro", w.Data.Code.String)
dg, err := w.DefaultGroup()
assert.Nil(t, dg)
assert.EqualError(t, store.ErrWebsiteDefaultGroupNotFound, err.Error())
ds, err := w.DefaultStore()
assert.Nil(t, ds)
assert.EqualError(t, store.ErrWebsiteDefaultGroupNotFound, err.Error())
assert.Nil(t, w.Stores)
assert.Nil(t, w.Groups)
}
开发者ID:levcom,项目名称:csfw,代码行数:17,代码来源:website_test.go
示例11: TestNewGroupPanicWebsiteIncorrect
func TestNewGroupPanicWebsiteIncorrect(t *testing.T) {
ng, err := store.NewGroup(
&store.TableGroup{GroupID: 1, WebsiteID: 1, Name: "DACH Group", RootCategoryID: 2, DefaultStoreID: 2},
store.SetGroupWebsite(&store.TableWebsite{WebsiteID: 2, Code: dbr.NewNullString("oz"), Name: dbr.NewNullString("OZ"), SortOrder: 20, DefaultGroupID: 3, IsDefault: dbr.NewNullBool(false)}),
)
assert.Nil(t, ng)
assert.EqualError(t, store.ErrGroupWebsiteNotFound, err.Error())
}
开发者ID:levcom,项目名称:csfw,代码行数:8,代码来源:group_test.go
示例12: TestNewServiceWebsite
func TestNewServiceWebsite(t *testing.T) {
var serviceWebsite = storemock.MustNewService(scope.Option{}, func(ms *storemock.Storage) {
ms.MockWebsite = func() (*store.Website, error) {
return store.NewWebsite(
&store.TableWebsite{WebsiteID: 1, Code: dbr.NewNullString("euro"), Name: dbr.NewNullString("Europe"), SortOrder: 0, DefaultGroupID: 1, IsDefault: dbr.NewNullBool(true)},
)
}
ms.MockStore = func() (*store.Store, error) {
return store.NewStore(
&store.TableStore{StoreID: 1, Code: dbr.NewNullString("de"), WebsiteID: 1, GroupID: 1, Name: "Germany", SortOrder: 10, IsActive: true},
&store.TableWebsite{WebsiteID: 1, Code: dbr.NewNullString("euro"), Name: dbr.NewNullString("Europe"), SortOrder: 0, DefaultGroupID: 1, IsDefault: dbr.NewNullBool(true)},
&store.TableGroup{GroupID: 1, WebsiteID: 1, Name: "DACH Group", RootCategoryID: 2, DefaultStoreID: 2},
)
}
})
tests := []struct {
m *store.Service
have scope.WebsiteIDer
wantErr error
wantWebsiteCode string
}{
{serviceWebsite, scope.MockID(1), nil, "euro"},
{serviceWebsite, scope.MockID(1), nil, "euro"},
{serviceWebsite, scope.MockCode("notImportant"), nil, "euro"},
{serviceWebsite, scope.MockCode("notImportant"), nil, "euro"},
}
for _, test := range tests {
haveW, haveErr := test.m.Website(test.have)
if test.wantErr != nil {
assert.Error(t, haveErr, "%#v", test)
assert.Nil(t, haveW, "%#v", test)
} else {
assert.NoError(t, haveErr, "%#v", test)
assert.NotNil(t, haveW, "%#v", test)
assert.Equal(t, test.wantWebsiteCode, haveW.Data.Code.String)
}
}
assert.False(t, serviceWebsite.IsCacheEmpty())
serviceWebsite.ClearCache()
assert.True(t, serviceWebsite.IsCacheEmpty())
}
开发者ID:levcom,项目名称:csfw,代码行数:45,代码来源:service_test.go
示例13: TestNewServiceGroup
func TestNewServiceGroup(t *testing.T) {
var serviceGroupSimpleTest = storemock.MustNewService(scope.Option{}, func(ms *storemock.Storage) {
ms.MockGroup = func() (*store.Group, error) {
return store.NewGroup(
&store.TableGroup{GroupID: 1, WebsiteID: 1, Name: "DACH Group", RootCategoryID: 2, DefaultStoreID: 2},
store.SetGroupWebsite(&store.TableWebsite{WebsiteID: 1, Code: dbr.NewNullString("euro"), Name: dbr.NewNullString("Europe"), SortOrder: 0, DefaultGroupID: 1, IsDefault: dbr.NewNullBool(true)}),
)
}
ms.MockStore = func() (*store.Store, error) {
return store.NewStore(
&store.TableStore{StoreID: 1, Code: dbr.NewNullString("de"), WebsiteID: 1, GroupID: 1, Name: "Germany", SortOrder: 10, IsActive: true},
&store.TableWebsite{WebsiteID: 1, Code: dbr.NewNullString("euro"), Name: dbr.NewNullString("Europe"), SortOrder: 0, DefaultGroupID: 1, IsDefault: dbr.NewNullBool(true)},
&store.TableGroup{GroupID: 1, WebsiteID: 1, Name: "DACH Group", RootCategoryID: 2, DefaultStoreID: 2},
)
}
})
tests := []struct {
m *store.Service
have scope.GroupIDer
wantErr error
wantGroupName string
wantWebsiteCode string
}{
{serviceGroupSimpleTest, scope.MockID(20), nil, "DACH Group", "euro"},
{serviceGroupSimpleTest, scope.MockID(1), nil, "DACH Group", "euro"},
{serviceGroupSimpleTest, scope.MockID(1), nil, "DACH Group", "euro"},
}
for i, test := range tests {
g, err := test.m.Group(test.have)
if test.wantErr != nil {
assert.Nil(t, g, "Index %d", i)
assert.EqualError(t, test.wantErr, err.Error(), "test %#v", test)
} else {
assert.NotNil(t, g, "test %#v", test)
assert.NoError(t, err, "test %#v", test)
assert.Equal(t, test.wantGroupName, g.Data.Name)
assert.Equal(t, test.wantWebsiteCode, g.Website.Data.Code.String)
}
}
assert.False(t, serviceGroupSimpleTest.IsCacheEmpty())
serviceGroupSimpleTest.ClearCache()
assert.True(t, serviceGroupSimpleTest.IsCacheEmpty())
}
开发者ID:levcom,项目名称:csfw,代码行数:45,代码来源:service_test.go
示例14: TestStorageGroupNoWebsite
func TestStorageGroupNoWebsite(t *testing.T) {
var tst = store.MustNewStorage(
store.SetStorageWebsites(
&store.TableWebsite{WebsiteID: 21, Code: dbr.NewNullString("oz"), Name: dbr.NewNullString("OZ"), SortOrder: 20, DefaultGroupID: 3, IsDefault: dbr.NewNullBool(false)},
),
store.SetStorageGroups(
&store.TableGroup{GroupID: 3, WebsiteID: 2, Name: "Australia", RootCategoryID: 2, DefaultStoreID: 5},
),
store.SetStorageStores(
&store.TableStore{StoreID: 5, Code: dbr.NewNullString("au"), WebsiteID: 2, GroupID: 3, Name: "Australia", SortOrder: 10, IsActive: true},
&store.TableStore{StoreID: 6, Code: dbr.NewNullString("nz"), WebsiteID: 2, GroupID: 3, Name: "Kiwi", SortOrder: 30, IsActive: true},
),
)
g, err := tst.Group(scope.MockID(3))
assert.Nil(t, g)
assert.EqualError(t, store.ErrIDNotFoundTableWebsiteSlice, err.Error())
gs, err := tst.Groups()
assert.Nil(t, gs)
assert.EqualError(t, store.ErrIDNotFoundTableWebsiteSlice, err.Error())
}
开发者ID:joao-parana,项目名称:csfw,代码行数:21,代码来源:storage_test.go
示例15: TestTableWebsiteSlice
func TestTableWebsiteSlice(t *testing.T) {
websites := store.TableWebsiteSlice{
&store.TableWebsite{WebsiteID: 0, Code: dbr.NewNullString("admin"), Name: dbr.NewNullString("Admin"), SortOrder: 0, DefaultGroupID: 0, IsDefault: dbr.NewNullBool(false)},
&store.TableWebsite{WebsiteID: 1, Code: dbr.NewNullString("euro"), Name: dbr.NewNullString("Europe"), SortOrder: 0, DefaultGroupID: 1, IsDefault: dbr.NewNullBool(true)},
nil,
&store.TableWebsite{WebsiteID: 2, Code: dbr.NewNullString("oz"), Name: dbr.NewNullString("OZ"), SortOrder: 20, DefaultGroupID: 3, IsDefault: dbr.NewNullBool(false)},
}
assert.True(t, websites.Len() == 4)
w1, err := websites.FindByWebsiteID(999)
assert.Nil(t, w1)
assert.EqualError(t, store.ErrIDNotFoundTableWebsiteSlice, err.Error())
w2, err := websites.FindByWebsiteID(2)
assert.NotNil(t, w2)
assert.NoError(t, err)
assert.Equal(t, int64(2), w2.WebsiteID)
w3, err := websites.FindByCode("euro")
assert.NotNil(t, w3)
assert.NoError(t, err)
assert.Equal(t, "euro", w3.Code.String)
w4, err := websites.FindByCode("corestore")
assert.Nil(t, w4)
assert.EqualError(t, store.ErrIDNotFoundTableWebsiteSlice, err.Error())
wf1 := websites.Filter(func(w *store.TableWebsite) bool {
return w != nil && w.WebsiteID == 1
})
assert.EqualValues(t, "Europe", wf1[0].Name.String)
}
开发者ID:levcom,项目名称:csfw,代码行数:32,代码来源:website_test.go
示例16: TestStoreSlice
func TestStoreSlice(t *testing.T) {
storeSlice := store.StoreSlice{
store.MustNewStore(
&store.TableStore{StoreID: 1, Code: dbr.NewNullString("de"), WebsiteID: 1, GroupID: 1, Name: "Germany", SortOrder: 10, IsActive: true},
&store.TableWebsite{WebsiteID: 1, Code: dbr.NewNullString("admin"), Name: dbr.NewNullString("Admin"), SortOrder: 0, DefaultGroupID: 0, IsDefault: dbr.NewNullBool(false)},
&store.TableGroup{GroupID: 1, WebsiteID: 1, Name: "Default", RootCategoryID: 0, DefaultStoreID: 0},
),
nil,
store.MustNewStore(
&store.TableStore{StoreID: 5, Code: dbr.NewNullString("au"), WebsiteID: 2, GroupID: 3, Name: "Australia", SortOrder: 10, IsActive: true},
&store.TableWebsite{WebsiteID: 2, Code: dbr.NewNullString("oz"), Name: dbr.NewNullString("OZ"), SortOrder: 20, DefaultGroupID: 3, IsDefault: dbr.NewNullBool(false)},
&store.TableGroup{GroupID: 3, WebsiteID: 2, Name: "Australia", RootCategoryID: 2, DefaultStoreID: 5},
),
}
assert.True(t, storeSlice.Len() == 3)
assert.EqualValues(t, utils.Int64Slice{1, 5}, storeSlice.IDs())
assert.EqualValues(t, utils.StringSlice{"de", "au"}, storeSlice.Codes())
assert.EqualValues(t, 5, storeSlice.LastItem().Data.StoreID)
assert.Nil(t, (store.StoreSlice{}).LastItem())
storeSlice2 := storeSlice.Filter(func(s *store.Store) bool {
return s.Website.Data.WebsiteID == 2
})
assert.True(t, storeSlice2.Len() == 1)
assert.Equal(t, "au", storeSlice2[0].Data.Code.String)
assert.EqualValues(t, utils.Int64Slice{5}, storeSlice2.IDs())
assert.EqualValues(t, utils.StringSlice{"au"}, storeSlice2.Codes())
assert.Nil(t, (store.StoreSlice{}).IDs())
assert.Nil(t, (store.StoreSlice{}).Codes())
}
开发者ID:levcom,项目名称:csfw,代码行数:32,代码来源:store_test.go
示例17: TestDefaultStoreView
func TestDefaultStoreView(t *testing.T) {
st, err := testStorage.DefaultStoreView()
assert.NoError(t, err)
assert.EqualValues(t, "at", st.Data.Code.String)
var tst = store.MustNewStorage(
store.SetStorageWebsites(
&store.TableWebsite{WebsiteID: 21, Code: dbr.NewNullString("oz"), Name: dbr.NewNullString("OZ"), SortOrder: 20, DefaultGroupID: 3, IsDefault: dbr.NewNullBool(false)},
),
store.SetStorageGroups(
&store.TableGroup{GroupID: 3, WebsiteID: 2, Name: "Australia", RootCategoryID: 2, DefaultStoreID: 5},
),
store.SetStorageStores(
&store.TableStore{StoreID: 4, Code: dbr.NewNullString("au"), WebsiteID: 2, GroupID: 3, Name: "Australia", SortOrder: 10, IsActive: true},
&store.TableStore{StoreID: 6, Code: dbr.NewNullString("nz"), WebsiteID: 2, GroupID: 3, Name: "Kiwi", SortOrder: 30, IsActive: true},
),
)
dSt, err := tst.DefaultStoreView()
assert.Nil(t, dSt)
assert.EqualError(t, store.ErrStoreNotFound, err.Error())
var tst2 = store.MustNewStorage(
store.SetStorageWebsites(
&store.TableWebsite{WebsiteID: 21, Code: dbr.NewNullString("oz"), Name: dbr.NewNullString("OZ"), SortOrder: 20, DefaultGroupID: 3, IsDefault: dbr.NewNullBool(true)},
),
store.SetStorageGroups(
&store.TableGroup{GroupID: 33, WebsiteID: 2, Name: "Australia", RootCategoryID: 2, DefaultStoreID: 5},
),
store.SetStorageStores(),
)
dSt2, err := tst2.DefaultStoreView()
assert.Nil(t, dSt2)
assert.EqualError(t, store.ErrIDNotFoundTableGroupSlice, err.Error())
}
开发者ID:joao-parana,项目名称:csfw,代码行数:34,代码来源:storage_test.go
示例18: TestNewStore
func TestNewStore(t *testing.T) {
tests := []struct {
w *store.TableWebsite
g *store.TableGroup
s *store.TableStore
}{
{
w: &store.TableWebsite{WebsiteID: 1, Code: dbr.NewNullString("admin"), Name: dbr.NewNullString("Admin"), SortOrder: 0, DefaultGroupID: 0, IsDefault: dbr.NewNullBool(false)},
g: &store.TableGroup{GroupID: 1, WebsiteID: 1, Name: "Default", RootCategoryID: 0, DefaultStoreID: 0},
s: &store.TableStore{StoreID: 1, Code: dbr.NewNullString("de"), WebsiteID: 1, GroupID: 1, Name: "Germany", SortOrder: 10, IsActive: true},
},
{
w: &store.TableWebsite{WebsiteID: 2, Code: dbr.NewNullString("oz"), Name: dbr.NewNullString("OZ"), SortOrder: 20, DefaultGroupID: 3, IsDefault: dbr.NewNullBool(false)},
g: &store.TableGroup{GroupID: 3, WebsiteID: 2, Name: "Australia", RootCategoryID: 2, DefaultStoreID: 5},
s: &store.TableStore{StoreID: 5, Code: dbr.NewNullString("au"), WebsiteID: 2, GroupID: 3, Name: "Australia", SortOrder: 10, IsActive: true},
},
}
for _, test := range tests {
s, err := store.NewStore(test.s, test.w, test.g)
assert.NoError(t, err)
assert.NotNil(t, s)
assert.EqualValues(t, test.w.WebsiteID, s.Website.Data.WebsiteID)
assert.EqualValues(t, test.g.GroupID, s.Group.Data.GroupID)
assert.EqualValues(t, test.s.Code, s.Data.Code)
assert.NotNil(t, s.Group.Website)
assert.NotEmpty(t, s.Group.Website.WebsiteID())
assert.Nil(t, s.Group.Stores)
assert.EqualValues(t, test.s.StoreID, s.StoreID())
assert.EqualValues(t, test.s.GroupID, s.GroupID())
assert.EqualValues(t, test.s.WebsiteID, s.WebsiteID())
}
}
开发者ID:levcom,项目名称:csfw,代码行数:33,代码来源:store_test.go
示例19: TestContextReaderSuccess
func TestContextReaderSuccess(t *testing.T) {
ctx := storemock.NewContextService(scope.Option{},
func(ms *storemock.Storage) {
ms.MockStore = func() (*store.Store, error) {
return store.NewStore(
&store.TableStore{StoreID: 6, Code: dbr.NewNullString("de"), WebsiteID: 1, GroupID: 1, Name: "Germany", SortOrder: 10, IsActive: true},
&store.TableWebsite{WebsiteID: 1, Code: dbr.NewNullString("euro"), Name: dbr.NewNullString("Europe"), SortOrder: 0, DefaultGroupID: 1, IsDefault: dbr.NewNullBool(true)},
&store.TableGroup{GroupID: 1, WebsiteID: 1, Name: "DACH Group", RootCategoryID: 2, DefaultStoreID: 6},
)
}
},
)
haveMr, s, err := store.FromContextReader(ctx)
assert.NoError(t, err)
assert.Exactly(t, int64(6), s.StoreID())
s2, err2 := haveMr.Store()
assert.NoError(t, err2)
assert.Exactly(t, int64(6), s2.StoreID())
}
开发者ID:levcom,项目名称:csfw,代码行数:22,代码来源:context_test.go
示例20: TestNewGroupSetStoresErrorWebsiteIsNil
func TestNewGroupSetStoresErrorWebsiteIsNil(t *testing.T) {
g, err := store.NewGroup(
&store.TableGroup{GroupID: 1, WebsiteID: 1, Name: "DACH Group", RootCategoryID: 2, DefaultStoreID: 2},
nil,
store.SetGroupStores(
store.TableStoreSlice{
&store.TableStore{StoreID: 0, Code: dbr.NewNullString("admin"), WebsiteID: 0, GroupID: 0, Name: "Admin", SortOrder: 0, IsActive: true},
},
nil,
),
)
assert.Nil(t, g)
assert.EqualError(t, store.ErrGroupWebsiteNotFound, err.Error())
}
开发者ID:levcom,项目名称:csfw,代码行数:14,代码来源:group_test.go
注:本文中的github.com/corestoreio/csfw/storage/dbr.NewNullString函数示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论