flamingo.me/flamingo-commerce/v3@v3.11.0/cart/domain/events/eventPublishing_test.go (about)

     1  package events_test
     2  
     3  import (
     4  	"context"
     5  	"testing"
     6  
     7  	"flamingo.me/flamingo-commerce/v3/cart/domain/placeorder"
     8  
     9  	"flamingo.me/flamingo-commerce/v3/cart/domain/cart"
    10  	"flamingo.me/flamingo/v3/framework/flamingo"
    11  )
    12  
    13  func TestDefaultEventPublisher_PublishOrderPlacedEvent(t *testing.T) {
    14  	type fields struct {
    15  		logger flamingo.Logger
    16  	}
    17  	type args struct {
    18  		ctx              context.Context
    19  		cart             *cart.Cart
    20  		placedOrderInfos placeorder.PlacedOrderInfos
    21  	}
    22  	tests := []struct {
    23  		name   string
    24  		fields fields
    25  		args   args
    26  	}{
    27  		{
    28  			name: "test",
    29  			fields: fields{
    30  				logger: flamingo.NullLogger{},
    31  			},
    32  			args: args{
    33  				ctx:  context.Background(),
    34  				cart: &cart.Cart{},
    35  				placedOrderInfos: placeorder.PlacedOrderInfos{
    36  					placeorder.PlacedOrderInfo{
    37  						OrderNumber:  "124",
    38  						DeliveryCode: "test_delivery",
    39  					},
    40  				},
    41  			},
    42  		},
    43  	}
    44  	for _, tt := range tests {
    45  		t.Run(tt.name, func(t *testing.T) {
    46  
    47  			//// prepare the wantEvent for the mocked event router
    48  			//wantEvent := &application.OrderPlacedEvent{
    49  			//	Cart:             tt.args.cart,
    50  			//	PlacedOrderInfos: tt.args.placedOrderInfos,
    51  			//}
    52  			//
    53  			//// prepare the event router
    54  			//eventRouter := new(mocks.Router)
    55  			//eventRouter.On(
    56  			//	"Dispatch",
    57  			//	context.Background(),
    58  			//	mock.MatchedBy(
    59  			//		func(e flamingo.Event) bool {
    60  			//			if diff := deep.Equal(e, wantEvent); diff != nil {
    61  			//				t.Logf("PublishOrderPlacedEvent got!=want, diff: %#v", diff)
    62  			//				return false
    63  			//			}
    64  			//
    65  			//			return true
    66  			//		},
    67  			//	),
    68  			//).Return(nil)
    69  			//
    70  			//// prepare the event publisher
    71  			//dep := &application.DefaultEventPublisher{}
    72  			//dep.Inject(
    73  			//	tt.fields.logger,
    74  			//	eventRouter,
    75  			//)
    76  			//
    77  			//dep.PublishOrderPlacedEvent(tt.args.ctx, tt.args.cart, tt.args.placedOrderInfos)
    78  			//eventRouter.AssertExpectations(t)
    79  			//eventRouter.AssertNumberOfCalls(t, "Dispatch", 1)
    80  		})
    81  	}
    82  }