fix: tests

This commit is contained in:
adlerhurst 2020-10-27 15:42:18 +01:00
parent 936c88c6ed
commit faee29bbb6
2 changed files with 39 additions and 31 deletions

View File

@ -214,6 +214,9 @@ func (es *Eventstore) LatestSequence(ctx context.Context, queryFactory *SearchQu
//RegisterFilterEventMapper registers a function for mapping an eventstore event to an event //RegisterFilterEventMapper registers a function for mapping an eventstore event to an event
func (es *Eventstore) RegisterFilterEventMapper(eventType EventType, mapper func(*repository.Event) (Event, error)) *Eventstore { func (es *Eventstore) RegisterFilterEventMapper(eventType EventType, mapper func(*repository.Event) (Event, error)) *Eventstore {
if mapper == nil || eventType == "" {
return es
}
es.interceptorMutex.Lock() es.interceptorMutex.Lock()
defer es.interceptorMutex.Unlock() defer es.interceptorMutex.Unlock()

View File

@ -87,7 +87,7 @@ func Test_eventstore_RegisterFilterEventMapper(t *testing.T) {
} }
type res struct { type res struct {
event Event event Event
isErr func(error) bool mapperCount int
} }
tests := []struct { tests := []struct {
@ -106,7 +106,7 @@ func Test_eventstore_RegisterFilterEventMapper(t *testing.T) {
eventMapper: map[EventType]eventTypeInterceptors{}, eventMapper: map[EventType]eventTypeInterceptors{},
}, },
res: res{ res: res{
isErr: errors.IsErrorInvalidArgument, mapperCount: 0,
}, },
}, },
{ {
@ -119,7 +119,7 @@ func Test_eventstore_RegisterFilterEventMapper(t *testing.T) {
eventMapper: map[EventType]eventTypeInterceptors{}, eventMapper: map[EventType]eventTypeInterceptors{},
}, },
res: res{ res: res{
isErr: errors.IsErrorInvalidArgument, mapperCount: 0,
}, },
}, },
{ {
@ -133,6 +133,7 @@ func Test_eventstore_RegisterFilterEventMapper(t *testing.T) {
}, },
res: res{ res: res{
event: &testEvent{description: "hodor"}, event: &testEvent{description: "hodor"},
mapperCount: 1,
}, },
}, },
{ {
@ -148,6 +149,7 @@ func Test_eventstore_RegisterFilterEventMapper(t *testing.T) {
}, },
res: res{ res: res{
event: &testEvent{description: "hodor"}, event: &testEvent{description: "hodor"},
mapperCount: 2,
}, },
}, },
{ {
@ -167,6 +169,7 @@ func Test_eventstore_RegisterFilterEventMapper(t *testing.T) {
}, },
res: res{ res: res{
event: &testEvent{description: "hodor"}, event: &testEvent{description: "hodor"},
mapperCount: 2,
}, },
}, },
} }
@ -175,12 +178,13 @@ func Test_eventstore_RegisterFilterEventMapper(t *testing.T) {
es := &Eventstore{ es := &Eventstore{
eventMapper: tt.fields.eventMapper, eventMapper: tt.fields.eventMapper,
} }
err := es.RegisterFilterEventMapper(tt.args.eventType, tt.args.mapper) es = es.RegisterFilterEventMapper(tt.args.eventType, tt.args.mapper)
if (tt.res.isErr != nil && !tt.res.isErr(err)) || (tt.res.isErr == nil && err != nil) { if len(es.eventMapper) != tt.res.mapperCount {
t.Errorf("wrong error got: %v", err) t.Errorf("unexpected mapper count: want %d, got %d", tt.res.mapperCount, len(es.eventMapper))
return return
} }
if tt.res.isErr != nil {
if tt.res.mapperCount == 0 {
return return
} }
@ -847,11 +851,11 @@ func TestEventstore_Push(t *testing.T) {
eventMapper: map[EventType]eventTypeInterceptors{}, eventMapper: map[EventType]eventTypeInterceptors{},
} }
for eventType, mapper := range tt.fields.eventMapper { for eventType, mapper := range tt.fields.eventMapper {
err := es.RegisterFilterEventMapper(eventType, mapper) es = es.RegisterFilterEventMapper(eventType, mapper)
if err != nil {
t.Errorf("register event mapper failed: %v", err)
t.FailNow()
} }
if len(es.eventMapper) != len(tt.fields.eventMapper) {
t.Errorf("register event mapper failed expected mapper amount: %d, got: %d", len(tt.fields.eventMapper), len(es.eventMapper))
t.FailNow()
} }
_, err := es.PushAggregates(context.Background(), tt.args.aggregates...) _, err := es.PushAggregates(context.Background(), tt.args.aggregates...)
@ -970,12 +974,13 @@ func TestEventstore_FilterEvents(t *testing.T) {
interceptorMutex: sync.Mutex{}, interceptorMutex: sync.Mutex{},
eventMapper: map[EventType]eventTypeInterceptors{}, eventMapper: map[EventType]eventTypeInterceptors{},
} }
for eventType, mapper := range tt.fields.eventMapper { for eventType, mapper := range tt.fields.eventMapper {
err := es.RegisterFilterEventMapper(eventType, mapper) es = es.RegisterFilterEventMapper(eventType, mapper)
if err != nil {
t.Errorf("register event mapper failed: %v", err)
t.FailNow()
} }
if len(es.eventMapper) != len(tt.fields.eventMapper) {
t.Errorf("register event mapper failed expected mapper amount: %d, got: %d", len(tt.fields.eventMapper), len(es.eventMapper))
t.FailNow()
} }
_, err := es.FilterEvents(context.Background(), tt.args.query) _, err := es.FilterEvents(context.Background(), tt.args.query)
@ -1257,11 +1262,11 @@ func TestEventstore_FilterToReducer(t *testing.T) {
eventMapper: map[EventType]eventTypeInterceptors{}, eventMapper: map[EventType]eventTypeInterceptors{},
} }
for eventType, mapper := range tt.fields.eventMapper { for eventType, mapper := range tt.fields.eventMapper {
err := es.RegisterFilterEventMapper(eventType, mapper) es = es.RegisterFilterEventMapper(eventType, mapper)
if err != nil {
t.Errorf("register event mapper failed: %v", err)
t.FailNow()
} }
if len(es.eventMapper) != len(tt.fields.eventMapper) {
t.Errorf("register event mapper failed expected mapper amount: %d, got: %d", len(tt.fields.eventMapper), len(es.eventMapper))
t.FailNow()
} }
err := es.FilterToReducer(context.Background(), tt.args.query, tt.args.readModel) err := es.FilterToReducer(context.Background(), tt.args.query, tt.args.readModel)
@ -1409,11 +1414,11 @@ func TestEventstore_mapEvents(t *testing.T) {
eventMapper: map[EventType]eventTypeInterceptors{}, eventMapper: map[EventType]eventTypeInterceptors{},
} }
for eventType, mapper := range tt.fields.eventMapper { for eventType, mapper := range tt.fields.eventMapper {
err := es.RegisterFilterEventMapper(eventType, mapper) es = es.RegisterFilterEventMapper(eventType, mapper)
if err != nil {
t.Errorf("register event mapper failed: %v", err)
t.FailNow()
} }
if len(es.eventMapper) != len(tt.fields.eventMapper) {
t.Errorf("register event mapper failed expected mapper amount: %d, got: %d", len(tt.fields.eventMapper), len(es.eventMapper))
t.FailNow()
} }
gotMappedEvents, err := es.mapEvents(tt.args.events) gotMappedEvents, err := es.mapEvents(tt.args.events)