本文整理汇总了Golang中github.com/corestoreio/csfw/config/scope.MockID函数的典型用法代码示例。如果您正苦于以下问题:Golang MockID函数的具体用法?Golang MockID怎么用?Golang MockID使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了MockID函数的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Golang代码示例。
示例1: TestNewManagerGroupInit
func TestNewManagerGroupInit(t *testing.T) {
err := getTestManager(func(ms *mockStorage) {
ms.g = 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.NullString{NullString: sql.NullString{String: "euro", Valid: true}}, Name: dbr.NullString{NullString: sql.NullString{String: "Europe", Valid: true}}, SortOrder: 0, DefaultGroupID: 1, IsDefault: dbr.NullBool{NullBool: sql.NullBool{Bool: true, Valid: true}}}),
), nil
}
}).Init(scope.Option{Group: scope.MockID(1)})
assert.EqualError(t, store.ErrGroupDefaultStoreNotFound, err.Error(), "Incorrect DefaultStore for a Group")
err = getTestManager().Init(scope.Option{Group: scope.MockID(21)})
assert.EqualError(t, store.ErrGroupNotFound, err.Error())
tm3 := getTestManager(func(ms *mockStorage) {
ms.g = 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.NullString{NullString: sql.NullString{String: "euro", Valid: true}}, Name: dbr.NullString{NullString: sql.NullString{String: "Europe", Valid: true}}, SortOrder: 0, DefaultGroupID: 1, IsDefault: dbr.NullBool{NullBool: sql.NullBool{Bool: true, Valid: true}}}),
).SetStores(store.TableStoreSlice{
&store.TableStore{StoreID: 2, Code: dbr.NullString{NullString: sql.NullString{String: "at", Valid: true}}, WebsiteID: 1, GroupID: 1, Name: "Österreich", SortOrder: 20, IsActive: true},
}, nil), nil
}
})
err = tm3.Init(scope.Option{Group: scope.MockID(1)})
assert.NoError(t, err)
g, err := tm3.Group()
assert.NoError(t, err)
assert.NotNil(t, g)
assert.Equal(t, int64(2), g.Data.DefaultStoreID)
}
开发者ID:hafeez3000,项目名称:csfw,代码行数:32,代码来源:manager_test.go
示例2: TestNewManagerStoreInit
func TestNewManagerStoreInit(t *testing.T) {
tms := getTestManager(func(ms *mockStorage) {
ms.s = func() (*store.Store, error) {
return store.NewStore(
&store.TableStore{StoreID: 1, Code: dbr.NullString{NullString: sql.NullString{String: "de", Valid: true}}, WebsiteID: 1, GroupID: 1, Name: "Germany", SortOrder: 10, IsActive: true},
&store.TableWebsite{WebsiteID: 1, Code: dbr.NullString{NullString: sql.NullString{String: "euro", Valid: true}}, Name: dbr.NullString{NullString: sql.NullString{String: "Europe", Valid: true}}, SortOrder: 0, DefaultGroupID: 1, IsDefault: dbr.NullBool{NullBool: sql.NullBool{Bool: true, Valid: true}}},
&store.TableGroup{GroupID: 1, WebsiteID: 1, Name: "DACH Group", RootCategoryID: 2, DefaultStoreID: 2},
), nil
}
})
tests := []struct {
haveManager *store.Manager
haveID scope.StoreIDer
wantErr error
}{
{tms, scope.MockID(1), nil},
{tms, scope.MockID(1), store.ErrAppStoreSet},
{tms, nil, store.ErrAppStoreSet},
{tms, nil, store.ErrAppStoreSet},
}
for _, test := range tests {
haveErr := test.haveManager.Init(scope.Option{Store: test.haveID})
if test.wantErr != nil {
assert.Error(t, haveErr)
assert.EqualError(t, test.wantErr, haveErr.Error())
} else {
assert.NoError(t, haveErr)
}
s, err := test.haveManager.Store()
assert.NotNil(t, s)
assert.NoError(t, err)
}
}
开发者ID:hafeez3000,项目名称:csfw,代码行数:35,代码来源:manager_test.go
示例3: Store
// Store creates a new Store which contains the the store, its group and website
// according to the interface definition.
func (st *Storage) Store(r scope.StoreIDer) (*Store, error) {
s, err := st.store(r)
if err != nil {
return nil, errgo.Mask(err)
}
w, err := st.website(scope.MockID(s.WebsiteID))
if err != nil {
return nil, errgo.Mask(err)
}
g, err := st.group(scope.MockID(s.GroupID))
if err != nil {
return nil, errgo.Mask(err)
}
ns, err := NewStore(s, w, g, SetStoreConfig(st.cr))
if err != nil {
return nil, errgo.Mask(err)
}
if _, err := ns.Website.ApplyOptions(SetWebsiteGroupsStores(st.groups, st.stores)); err != nil {
return nil, errgo.Mask(err)
}
if _, err := ns.Group.ApplyOptions(SetGroupStores(st.stores, w)); err != nil {
return nil, errgo.Mask(err)
}
return ns, nil
}
开发者ID:levcom,项目名称:csfw,代码行数:27,代码来源:storage.go
示例4: TestNewManagerGetRequestStore_ScopeGroup
func TestNewManagerGetRequestStore_ScopeGroup(t *testing.T) {
testOption := scope.Option{Group: scope.MockID(1)}
testScope := scope.GroupID
if haveStore, haveErr := storeManagerRequestStore.GetRequestStore(testOption, testScope); haveErr == nil {
t.Error("appStore should not be set!")
t.Fail()
} else {
assert.Nil(t, haveStore)
assert.EqualError(t, store.ErrAppStoreNotSet, haveErr.Error())
}
assert.EqualError(t, store.ErrIDNotFoundTableGroupSlice, storeManagerRequestStore.Init(scope.Option{Group: scope.MockID(123)}).Error())
if err := storeManagerRequestStore.Init(testOption); err != nil {
t.Error(err)
t.Fail()
}
assert.EqualError(t, store.ErrAppStoreSet, storeManagerRequestStore.Init(testOption).Error())
if s, err := storeManagerRequestStore.Store(); err == nil {
assert.EqualValues(t, "at", s.Data.Code.String)
} else {
assert.EqualError(t, err, store.ErrStoreNotFound.Error())
t.Fail()
}
if g, err := storeManagerRequestStore.Group(); err == nil {
assert.EqualValues(t, 1, g.Data.GroupID)
} else {
assert.EqualError(t, err, store.ErrStoreNotFound.Error())
t.Fail()
}
// we're testing here against Group ID = 1
tests := []testNewManagerGetRequestStore{
{scope.Option{Group: scope.MockID(232)}, "", store.ErrIDNotFoundTableGroupSlice},
{scope.Option{Store: scope.MockID(232)}, "", store.ErrIDNotFoundTableStoreSlice},
{scope.Option{}, "", store.ErrUnsupportedScope},
{scope.Option{Store: scope.MockCode("\U0001f631")}, "", store.ErrIDNotFoundTableStoreSlice},
{scope.Option{Store: scope.MockID(6)}, "nz", store.ErrStoreChangeNotAllowed},
{scope.Option{Store: scope.MockCode("ch")}, "", store.ErrStoreNotActive},
{scope.Option{Store: scope.MockCode("de")}, "de", nil},
{scope.Option{Store: scope.MockID(2)}, "at", nil},
{scope.Option{Store: scope.MockID(2)}, "at", nil},
{scope.Option{Store: scope.MockCode("au")}, "au", store.ErrStoreChangeNotAllowed},
{scope.Option{Store: scope.MockCode("ch")}, "", store.ErrStoreNotActive},
{scope.Option{Group: scope.MockCode("ch")}, "", store.ErrIDNotFoundTableGroupSlice},
{scope.Option{Group: scope.MockID(2)}, "", store.ErrStoreChangeNotAllowed},
{scope.Option{Group: scope.MockID(1)}, "at", nil},
{scope.Option{Website: scope.MockCode("xxxx")}, "", store.ErrIDNotFoundTableWebsiteSlice},
{scope.Option{Website: scope.MockID(2)}, "", store.ErrStoreChangeNotAllowed},
{scope.Option{Website: scope.MockID(1)}, "at", nil},
}
runNewManagerGetRequestStore(t, scope.GroupID, tests)
}
开发者ID:hafeez3000,项目名称:csfw,代码行数:60,代码来源:manager_test.go
示例5: DefaultStoreView
// DefaultStoreView traverses through the websites to find the default website and gets
// the default group which has the default store id assigned to. Only one website can be the default one.
func (st *Storage) DefaultStoreView() (*Store, error) {
for _, website := range st.websites {
if website.IsDefault.Bool && website.IsDefault.Valid {
g, err := st.group(scope.MockID(website.DefaultGroupID))
if err != nil {
return nil, errgo.Mask(err)
}
return st.Store(scope.MockID(g.DefaultStoreID))
}
}
return nil, ErrStoreNotFound
}
开发者ID:levcom,项目名称:csfw,代码行数:14,代码来源:storage.go
示例6: TestNewServiceRequestedStore_ScopeGroup
func TestNewServiceRequestedStore_ScopeGroup(t *testing.T) {
initScope := scope.Option{Group: scope.MockID(1)}
sm := getInitializedStoreService(initScope)
if haveStore, haveErr := sm.RequestedStore(initScope); haveErr != nil {
t.Fatal(haveErr)
} else {
assert.NoError(t, haveErr)
assert.Exactly(t, int64(2), haveStore.StoreID())
}
if s, err := sm.Store(); err == nil {
assert.EqualValues(t, "at", s.Data.Code.String)
} else {
assert.EqualError(t, err, store.ErrStoreNotFound.Error())
t.Fail()
}
if g, err := sm.Group(); err == nil {
assert.EqualValues(t, 1, g.Data.GroupID)
} else {
assert.EqualError(t, err, store.ErrStoreNotFound.Error())
t.Fail()
}
// // we're testing here against Group ID = 1
tests := []testNewServiceRequestedStore{
{scope.Option{Group: scope.MockID(232)}, "", store.ErrIDNotFoundTableGroupSlice},
{scope.Option{Store: scope.MockID(232)}, "", store.ErrIDNotFoundTableStoreSlice},
{scope.Option{Store: scope.MockCode("\U0001f631")}, "", store.ErrIDNotFoundTableStoreSlice},
{scope.Option{Store: scope.MockID(6)}, "nz", store.ErrStoreChangeNotAllowed},
{scope.Option{Store: scope.MockCode("ch")}, "", store.ErrStoreNotActive},
{scope.Option{Store: scope.MockCode("de")}, "de", nil},
{scope.Option{Store: scope.MockID(2)}, "at", nil},
{scope.Option{Store: scope.MockID(2)}, "at", nil},
{scope.Option{Store: scope.MockCode("au")}, "au", store.ErrStoreChangeNotAllowed},
{scope.Option{Store: scope.MockCode("ch")}, "", store.ErrStoreNotActive},
{scope.Option{Group: scope.MockCode("ch")}, "", store.ErrIDNotFoundTableGroupSlice},
{scope.Option{Group: scope.MockID(2)}, "", store.ErrStoreChangeNotAllowed},
{scope.Option{Group: scope.MockID(1)}, "at", nil},
{scope.Option{Website: scope.MockCode("xxxx")}, "", store.ErrIDNotFoundTableWebsiteSlice},
{scope.Option{Website: scope.MockID(2)}, "", store.ErrStoreChangeNotAllowed},
{scope.Option{Website: scope.MockID(1)}, "at", nil},
}
runTestsRequestedStore(t, sm, tests)
}
开发者ID:levcom,项目名称:csfw,代码行数:52,代码来源:service_test.go
示例7: TestApplyID
func TestApplyID(t *testing.T) {
tests := []struct {
wantWebsiteID scope.WebsiteIDer
wantGroupID scope.GroupIDer
wantStoreID scope.StoreIDer
haveID int64
s scope.Scope
err error
}{
{scope.MockID(1), nil, nil, 1, scope.WebsiteID, nil},
{nil, scope.MockID(3), nil, 3, scope.GroupID, nil},
{nil, nil, scope.MockID(2), 2, scope.StoreID, nil},
{nil, nil, nil, 4, scope.AbsentID, scope.ErrUnsupportedScope},
}
for _, test := range tests {
so, err := scope.SetByID(test.haveID, test.s)
assert.NotNil(t, so)
if test.err != nil {
assert.EqualError(t, err, test.err.Error())
assert.Nil(t, so.Website)
assert.Nil(t, so.Group)
assert.Nil(t, so.Store)
} else {
assert.NoError(t, err)
assert.Equal(t, test.s, so.Scope())
assert.Equal(t, "", so.StoreCode())
assert.Equal(t, "", so.WebsiteCode())
if test.wantWebsiteID != nil {
assert.Equal(t, test.wantWebsiteID.WebsiteID(), so.Website.WebsiteID())
} else {
assert.Nil(t, test.wantWebsiteID)
}
if test.wantGroupID != nil {
assert.Equal(t, test.wantGroupID.GroupID(), so.Group.GroupID())
} else {
assert.Nil(t, test.wantGroupID)
}
if test.wantStoreID != nil {
assert.Equal(t, test.wantStoreID.StoreID(), so.Store.StoreID())
} else {
assert.Nil(t, test.wantStoreID)
}
}
}
}
开发者ID:hafeez3000,项目名称:csfw,代码行数:51,代码来源:option_test.go
示例8: TestNewManagerStore
func TestNewManagerStore(t *testing.T) {
assert.True(t, managerStoreSimpleTest.IsCacheEmpty())
for j := 0; j < 3; j++ {
s, err := managerStoreSimpleTest.Store(scope.MockCode("notNil"))
assert.NoError(t, err)
assert.NotNil(t, s)
assert.EqualValues(t, "de", s.Data.Code.String)
}
assert.False(t, managerStoreSimpleTest.IsCacheEmpty())
managerStoreSimpleTest.ClearCache()
assert.True(t, managerStoreSimpleTest.IsCacheEmpty())
tests := []struct {
have scope.StoreIDer
wantErr error
}{
{scope.MockCode("nilSlices"), store.ErrStoreNotFound},
{scope.MockID(2), store.ErrStoreNotFound},
{nil, store.ErrAppStoreNotSet},
}
managerEmpty := getTestManager()
for _, test := range tests {
s, err := managerEmpty.Store(test.have)
assert.Nil(t, s)
assert.EqualError(t, test.wantErr, err.Error())
}
assert.True(t, managerStoreSimpleTest.IsCacheEmpty())
}
开发者ID:hafeez3000,项目名称:csfw,代码行数:29,代码来源:manager_test.go
示例9: TestMustNewService
func TestMustNewService(t *testing.T) {
defer func() {
if r := recover(); r != nil {
assert.EqualError(t, r.(error), store.ErrStoreNotFound.Error())
} else {
t.Fatal("Expecting a Panic")
}
}()
tests := []struct {
have scope.StoreIDer
wantErr error
}{
{scope.MockCode("nilSlices"), store.ErrStoreNotFound},
{scope.MockID(2), store.ErrStoreNotFound},
{nil, store.ErrStoreNotFound},
}
serviceEmpty := storemock.MustNewService(scope.Option{})
for _, test := range tests {
s, err := serviceEmpty.Store(test.have)
assert.Nil(t, s)
assert.EqualError(t, test.wantErr, err.Error())
}
assert.True(t, serviceStoreSimpleTest.IsCacheEmpty())
}
开发者ID:levcom,项目名称:csfw,代码行数:25,代码来源:service_test.go
示例10: TestNewManagerGroup
func TestNewManagerGroup(t *testing.T) {
var managerGroupSimpleTest = getTestManager(func(ms *mockStorage) {
ms.g = 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.NullString{NullString: sql.NullString{String: "euro", Valid: true}}, Name: dbr.NullString{NullString: sql.NullString{String: "Europe", Valid: true}}, SortOrder: 0, DefaultGroupID: 1, IsDefault: dbr.NullBool{NullBool: sql.NullBool{Bool: true, Valid: true}}}),
), nil
}
ms.s = func() (*store.Store, error) {
return store.NewStore(
&store.TableStore{StoreID: 1, Code: dbr.NullString{NullString: sql.NullString{String: "de", Valid: true}}, WebsiteID: 1, GroupID: 1, Name: "Germany", SortOrder: 10, IsActive: true},
&store.TableWebsite{WebsiteID: 1, Code: dbr.NullString{NullString: sql.NullString{String: "euro", Valid: true}}, Name: dbr.NullString{NullString: sql.NullString{String: "Europe", Valid: true}}, SortOrder: 0, DefaultGroupID: 1, IsDefault: dbr.NullBool{NullBool: sql.NullBool{Bool: true, Valid: true}}},
&store.TableGroup{GroupID: 1, WebsiteID: 1, Name: "DACH Group", RootCategoryID: 2, DefaultStoreID: 2},
), nil
}
})
tests := []struct {
m *store.Manager
have scope.GroupIDer
wantErr error
wantGroupName string
wantWebsiteCode string
}{
{managerGroupSimpleTest, nil, store.ErrAppStoreNotSet, "", ""},
{getTestManager(), scope.MockID(20), store.ErrGroupNotFound, "", ""},
{managerGroupSimpleTest, scope.MockID(1), nil, "DACH Group", "euro"},
{managerGroupSimpleTest, scope.MockID(1), nil, "DACH Group", "euro"},
}
for _, test := range tests {
g, err := test.m.Group(test.have)
if test.wantErr != nil {
assert.Nil(t, g)
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, managerGroupSimpleTest.IsCacheEmpty())
managerGroupSimpleTest.ClearCache()
assert.True(t, managerGroupSimpleTest.IsCacheEmpty())
}
开发者ID:hafeez3000,项目名称:csfw,代码行数:46,代码来源:manager_test.go
示例11: TestApplyWebsite
func TestApplyWebsite(t *testing.T) {
so := scope.Option{Website: scope.MockID(3)}
assert.NotNil(t, so)
assert.Equal(t, int64(3), so.Website.WebsiteID())
assert.Nil(t, so.Group)
assert.Nil(t, so.Store)
}
开发者ID:hafeez3000,项目名称:csfw,代码行数:8,代码来源:option_test.go
示例12: TestApplyStore
func TestApplyStore(t *testing.T) {
so := scope.Option{Store: scope.MockID(3)}
assert.NotNil(t, so)
assert.Equal(t, int64(3), so.Store.StoreID())
assert.Nil(t, so.Website)
assert.Nil(t, so.Group)
assert.Exactly(t, scope.StoreID.String(), so.String())
}
开发者ID:levcom,项目名称:csfw,代码行数:8,代码来源:option_test.go
示例13: 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
示例14: 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
示例15: TestNewManagerGetRequestStore_ScopeStore
func TestNewManagerGetRequestStore_ScopeStore(t *testing.T) {
testCode := scope.MockCode("de")
testScope := scope.StoreID
if haveStore, haveErr := storeManagerRequestStore.GetRequestStore(scope.Option{Store: scope.MockID(1)}, testScope); haveErr == nil {
t.Error("appStore should not be set!")
t.Fail()
} else {
assert.Nil(t, haveStore)
assert.EqualError(t, store.ErrAppStoreNotSet, haveErr.Error())
}
// init with scope store
if err := storeManagerRequestStore.Init(scope.Option{Store: testCode}); err != nil {
t.Error(err)
t.Fail()
}
assert.EqualError(t, store.ErrAppStoreSet, storeManagerRequestStore.Init(scope.Option{Store: testCode}).Error())
if s, err := storeManagerRequestStore.Store(); err == nil {
assert.EqualValues(t, "de", s.Data.Code.String)
} else {
assert.EqualError(t, err, store.ErrStoreNotFound.Error())
t.Fail()
}
tests := []testNewManagerGetRequestStore{
{scope.Option{Store: scope.MockID(232)}, "", store.ErrIDNotFoundTableStoreSlice},
{scope.Option{}, "", store.ErrUnsupportedScope},
{scope.Option{Store: scope.MockCode("\U0001f631")}, "", store.ErrIDNotFoundTableStoreSlice},
{scope.Option{Store: scope.MockID(6)}, "nz", nil},
{scope.Option{Store: scope.MockCode("ch")}, "", store.ErrStoreNotActive},
{scope.Option{Store: scope.MockCode("nz")}, "nz", nil},
{scope.Option{Store: scope.MockCode("de")}, "de", nil},
{scope.Option{Store: scope.MockID(2)}, "at", nil},
{scope.Option{Store: scope.MockID(2)}, "at", nil},
{scope.Option{Store: scope.MockCode("au")}, "au", nil},
{scope.Option{Store: scope.MockCode("ch")}, "", store.ErrStoreNotActive},
}
runNewManagerGetRequestStore(t, testScope, tests)
}
开发者ID:hafeez3000,项目名称:csfw,代码行数:45,代码来源:manager_test.go
示例16: TestApplyGroup
func TestApplyGroup(t *testing.T) {
so := scope.Option{Group: scope.MockID(3)}
assert.NotNil(t, so)
assert.Equal(t, int64(3), so.Group.GroupID())
assert.Nil(t, so.Website)
assert.Nil(t, so.Store)
}
开发者ID:hafeez3000,项目名称:csfw,代码行数:9,代码来源:option_test.go
示例17: TestNewManagerReInit
func TestNewManagerReInit(t *testing.T) {
t.Skip(TODO_Better_Test_Data)
// quick implement, use mock of dbr.SessionRunner and remove connection
dbc := csdb.MustConnectTest()
defer dbc.Close()
dbrSess := dbc.NewSession()
storeManager := store.NewManager(store.NewStorage(nil /* trick it*/))
if err := storeManager.ReInit(dbrSess); err != nil {
t.Fatal(err)
}
tests := []struct {
have scope.StoreIDer
wantErr error
}{
{scope.MockCode("dede"), nil},
{scope.MockCode("czcz"), store.ErrIDNotFoundTableStoreSlice},
{scope.MockID(1), nil},
{scope.MockID(100), store.ErrStoreNotFound},
{mockIDCode{1, "dede"}, nil},
{mockIDCode{2, "czfr"}, store.ErrStoreNotFound},
{mockIDCode{2, ""}, nil},
{nil, store.ErrAppStoreNotSet}, // if set returns default store
}
for _, test := range tests {
s, err := storeManager.Store(test.have)
if test.wantErr == nil {
assert.NoError(t, err, "No Err; for test: %#v", test)
assert.NotNil(t, s)
// assert.NotEmpty(t, s.Data.Code.String, "%#v", s.Data)
} else {
assert.Error(t, err, "Err for test: %#v", test)
assert.EqualError(t, test.wantErr, err.Error(), "EqualErr for test: %#v", test)
assert.Nil(t, s)
}
}
assert.False(t, storeManager.IsCacheEmpty())
storeManager.ClearCache()
assert.True(t, storeManager.IsCacheEmpty())
}
开发者ID:hafeez3000,项目名称:csfw,代码行数:44,代码来源:manager_test.go
示例18: Stores
// Stores creates a new store slice. Can return an error when the website or
// the group cannot be found.
func (st *Storage) Stores() (StoreSlice, error) {
stores := make(StoreSlice, len(st.stores), len(st.stores))
for i, s := range st.stores {
var err error
if stores[i], err = st.Store(scope.MockID(s.StoreID)); err != nil {
return nil, errgo.Mask(err)
}
}
return stores, nil
}
开发者ID:levcom,项目名称:csfw,代码行数:12,代码来源:storage.go
示例19: Groups
// Groups creates a new group slice containing its website all related stores.
// May panic when a website pointer is nil.
func (st *Storage) Groups() (GroupSlice, error) {
groups := make(GroupSlice, len(st.groups), len(st.groups))
for i, g := range st.groups {
w, err := st.website(scope.MockID(g.WebsiteID))
if err != nil {
return nil, errgo.Mask(err)
}
groups[i] = NewGroup(g, SetGroupConfig(st.cr), SetGroupWebsite(w)).SetStores(st.stores, nil)
}
return groups, nil
}
开发者ID:hafeez3000,项目名称:csfw,代码行数:13,代码来源:storage.go
示例20: TestStorageWebsite
func TestStorageWebsite(t *testing.T) {
tests := []struct {
have scope.WebsiteIDer
err error
wantWCode string
}{
{nil, store.ErrWebsiteNotFound, ""},
{scope.MockID(2015), store.ErrIDNotFoundTableWebsiteSlice, ""},
{scope.MockID(1), nil, "euro"},
{scope.MockCode("asia"), store.ErrIDNotFoundTableWebsiteSlice, ""},
{scope.MockCode("oz"), nil, "oz"},
{mockIDCode{1, "oz"}, nil, "oz"},
{mockIDCode{1, "ozzz"}, store.ErrIDNotFoundTableWebsiteSlice, ""},
}
for _, test := range tests {
w, err := testStorage.Website(test.have)
if test.err != nil {
assert.Nil(t, w)
assert.EqualError(t, test.err, err.Error())
} else {
assert.NotNil(t, w, "Test: %#v", test)
assert.NoError(t, err, "Test: %#v", test)
assert.Equal(t, test.wantWCode, w.Data.Code.String, "Test: %#v", test)
}
}
w, err := testStorage.Website(scope.MockCode("euro"))
assert.NoError(t, err)
assert.NotNil(t, w)
dGroup, err := w.DefaultGroup()
assert.NoError(t, err)
assert.EqualValues(t, "DACH Group", dGroup.Data.Name)
assert.NotNil(t, w.Groups)
assert.EqualValues(t, utils.Int64Slice{1, 2}, w.Groups.IDs())
assert.NotNil(t, w.Stores)
assert.EqualValues(t, utils.StringSlice{"de", "uk", "at", "ch"}, w.Stores.Codes())
}
开发者ID:hafeez3000,项目名称:csfw,代码行数:41,代码来源:storage_test.go
注:本文中的github.com/corestoreio/csfw/config/scope.MockID函数示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论