github.com/s7techlab/cckit@v0.10.5/state/mapping/state_mapping_test.go (about) 1 package mapping_test 2 3 import ( 4 . "github.com/onsi/ginkgo" 5 . "github.com/onsi/gomega" 6 7 "errors" 8 9 "github.com/s7techlab/cckit/state" 10 m "github.com/s7techlab/cckit/state/mapping" 11 "github.com/s7techlab/cckit/state/mapping/testdata" 12 "github.com/s7techlab/cckit/state/mapping/testdata/schema" 13 ) 14 15 var _ = Describe(`State mappings`, func() { 16 17 mappings := m.StateMappings{}. 18 //key will be <`EntityWithComplexId`, {Id.IdPart1}, {Id.IdPart2} > 19 Add(&schema.EntityWithComplexId{}, m.PKeyComplexId(&schema.EntityComplexId{})) 20 21 It(`Got error if namespace not exists`, func() { 22 _, err := mappings.GetByNamespace(state.Key{`this-namespace-not-exists`}) 23 Expect(errors.Is(err, m.ErrStateMappingNotFound)).To(BeTrue()) 24 25 _, err = mappings.Get([]string{`this-namespace-not-exists`}) 26 Expect(errors.Is(err, m.ErrStateMappingNotFound)).To(BeTrue()) 27 }) 28 29 It(`Allow to get mapping by namespace`, func() { 30 mapping, err := mappings.GetByNamespace(state.Key{`EntityWithComplexId`}) 31 Expect(err).NotTo(HaveOccurred()) 32 33 Expect(mapping.Namespace()).To(Equal(state.Key{`EntityWithComplexId`})) 34 35 mapping, err = mappings.Get([]string{`EntityWithComplexId`}) 36 Expect(err).NotTo(HaveOccurred()) 37 Expect(mapping.Namespace()).To(Equal(state.Key{`EntityWithComplexId`})) 38 }) 39 40 It(`Allow to create primary key`, func() { 41 mapping, _ := mappings.Get(&schema.EntityWithComplexId{}) 42 key, err := mapping.PrimaryKey(testdata.CreateEntityWithComplextId[0]) 43 44 Expect(err).NotTo(HaveOccurred()) 45 Expect(key).To(Equal(state.Key{`EntityWithComplexId`, `aaa`, `bb`, `ccc`, `2020-01-28`})) 46 }) 47 })