Skip to content

Commit

Permalink
Rename process usages to create (#54)
Browse files Browse the repository at this point in the history
  • Loading branch information
Luke-Rogerson authored Dec 7, 2023
1 parent ac820fe commit ea8915a
Show file tree
Hide file tree
Showing 6 changed files with 18 additions and 18 deletions.
2 changes: 1 addition & 1 deletion mocks/transport.go
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ func (m *MockOrderBookService) GetUserByPublicKey(ctx context.Context, publicKey
return m.User, m.Error
}

func (m *MockOrderBookService) ProcessOrder(ctx context.Context, input service.ProcessOrderInput) (models.Order, error) {
func (m *MockOrderBookService) CreateOrder(ctx context.Context, input service.CreateOrderInput) (models.Order, error) {
return *m.Order, m.Error
}

Expand Down
8 changes: 4 additions & 4 deletions service/process_order.go → service/create_order.go
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ import (
"github.com/shopspring/decimal"
)

type ProcessOrderInput struct {
type CreateOrderInput struct {
UserId uuid.UUID
Price decimal.Decimal
Symbol models.Symbol
Expand All @@ -25,7 +25,7 @@ var (
ErrClashingOrderId = errors.New("order with that ID already exists")
)

func (s *Service) ProcessOrder(ctx context.Context, input ProcessOrderInput) (models.Order, error) {
func (s *Service) CreateOrder(ctx context.Context, input CreateOrderInput) (models.Order, error) {

existingOrder, err := s.orderBookStore.FindOrderById(ctx, input.ClientOrderID, true)

Expand All @@ -49,12 +49,12 @@ func (s *Service) ProcessOrder(ctx context.Context, input ProcessOrderInput) (mo
return models.Order{}, models.ErrOrderAlreadyExists
}

logctx.Error(ctx, "did not follow any cases when processing order", logger.String("clientOrderId", input.ClientOrderID.String()), logger.String("userId", input.UserId.String()), logger.String("price", input.Price.String()), logger.String("size", input.Size.String()), logger.String("symbol", input.Symbol.String()), logger.String("side", input.Side.String()))
logctx.Error(ctx, "did not follow any cases when creating order", logger.String("clientOrderId", input.ClientOrderID.String()), logger.String("userId", input.UserId.String()), logger.String("price", input.Price.String()), logger.String("size", input.Size.String()), logger.String("symbol", input.Symbol.String()), logger.String("side", input.Side.String()))

return models.Order{}, models.ErrUnexpectedError
}

func (s *Service) createNewOrder(ctx context.Context, input ProcessOrderInput, userId uuid.UUID) (models.Order, error) {
func (s *Service) createNewOrder(ctx context.Context, input CreateOrderInput, userId uuid.UUID) (models.Order, error) {
orderId := uuid.New()

logctx.Info(ctx, "creating new order", logger.String("orderId", orderId.String()), logger.String("clientOrderId", input.ClientOrderID.String()))
Expand Down
18 changes: 9 additions & 9 deletions service/process_order_test.go → service/create_order_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ import (
"github.com/stretchr/testify/assert"
)

func TestService_ProcessOrder(t *testing.T) {
func TestService_CreateOrder(t *testing.T) {

ctx := context.Background()
mockBcClient := &mocks.MockBcClient{IsVerified: true}
Expand All @@ -32,7 +32,7 @@ func TestService_ProcessOrder(t *testing.T) {
}

t.Run("unexpected error from store - should return `ErrUnexpectedError` error", func(t *testing.T) {
input := service.ProcessOrderInput{
input := service.CreateOrderInput{
UserId: userId,
Price: price,
Symbol: symbol,
Expand All @@ -43,14 +43,14 @@ func TestService_ProcessOrder(t *testing.T) {

svc, _ := service.New(&mocks.MockOrderBookStore{User: &user, Error: assert.AnError}, mockBcClient)

order, err := svc.ProcessOrder(ctx, input)
order, err := svc.CreateOrder(ctx, input)

assert.ErrorIs(t, err, models.ErrUnexpectedError)
assert.Equal(t, models.Order{}, order)
})

t.Run("no previous order - should create new order", func(t *testing.T) {
input := service.ProcessOrderInput{
input := service.CreateOrderInput{
UserId: userId,
Price: price,
Symbol: symbol,
Expand All @@ -61,7 +61,7 @@ func TestService_ProcessOrder(t *testing.T) {

svc, _ := service.New(&mocks.MockOrderBookStore{User: &user, Order: nil}, mockBcClient)

newOrder, err := svc.ProcessOrder(ctx, input)
newOrder, err := svc.CreateOrder(ctx, input)

assert.NoError(t, err)
// TODO: I am not asserting against the full order as timestamp is always different
Expand All @@ -77,7 +77,7 @@ func TestService_ProcessOrder(t *testing.T) {
})

t.Run("existing order with different userId - should return `ErrClashingOrderId` error", func(t *testing.T) {
input := service.ProcessOrderInput{
input := service.CreateOrderInput{
UserId: userId,
Price: price,
Symbol: symbol,
Expand All @@ -88,14 +88,14 @@ func TestService_ProcessOrder(t *testing.T) {

svc, _ := service.New(&mocks.MockOrderBookStore{User: &user, Order: &models.Order{UserId: uuid.MustParse("b577273e-12de-4acc-a4f8-de7fb5b86e37")}}, mockBcClient)

order, err := svc.ProcessOrder(ctx, input)
order, err := svc.CreateOrder(ctx, input)

assert.ErrorIs(t, err, service.ErrClashingOrderId)
assert.Equal(t, models.Order{}, order)
})

t.Run("existing order with same clientOrderId - should return `ErrOrderAlreadyExists` error", func(t *testing.T) {
input := service.ProcessOrderInput{
input := service.CreateOrderInput{
UserId: userId,
Price: price,
Symbol: symbol,
Expand All @@ -106,7 +106,7 @@ func TestService_ProcessOrder(t *testing.T) {

svc, _ := service.New(&mocks.MockOrderBookStore{User: &user, Order: &models.Order{ClientOId: orderId, UserId: userId}}, mockBcClient)

order, err := svc.ProcessOrder(ctx, input)
order, err := svc.CreateOrder(ctx, input)

assert.ErrorIs(t, err, models.ErrOrderAlreadyExists)
assert.Equal(t, models.Order{}, order)
Expand Down
2 changes: 1 addition & 1 deletion service/service.go
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ import (
)

type OrderBookService interface {
ProcessOrder(ctx context.Context, input ProcessOrderInput) (models.Order, error)
CreateOrder(ctx context.Context, input CreateOrderInput) (models.Order, error)
CancelOrder(ctx context.Context, input CancelOrderInput) (cancelledOrderId *uuid.UUID, err error)
GetBestPriceFor(ctx context.Context, symbol models.Symbol, side models.Side) (decimal.Decimal, error)
GetOrderById(ctx context.Context, orderId uuid.UUID) (*models.Order, error)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ type CreateOrderResponse struct {
OrderId string `json:"orderId"`
}

func (h *Handler) ProcessOrder(w http.ResponseWriter, r *http.Request) {
func (h *Handler) CreateOrder(w http.ResponseWriter, r *http.Request) {
ctx := r.Context()
user := utils.GetUserCtx(ctx)
if user == nil {
Expand Down Expand Up @@ -90,7 +90,7 @@ func (h *Handler) ProcessOrder(w http.ResponseWriter, r *http.Request) {
}

logctx.Info(ctx, "user trying to create order", logger.String("userId", user.Id.String()), logger.String("price", roundedDecPrice.String()), logger.String("size", decSize.String()), logger.String("clientOrderId", clientOrderId.String()))
order, err := h.svc.ProcessOrder(ctx, service.ProcessOrderInput{
order, err := h.svc.CreateOrder(ctx, service.CreateOrderInput{
UserId: user.Id,
Price: roundedDecPrice,
Symbol: symbol,
Expand Down
2 changes: 1 addition & 1 deletion transport/rest/handler.go
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@ func (h *Handler) initMMRoutes(getUserByApiKey middleware.GetUserByApiKeyFunc) {

// ------- CREATE -------
// Place a new order
mmApi.HandleFunc("/order", h.ProcessOrder).Methods("POST")
mmApi.HandleFunc("/order", h.CreateOrder).Methods("POST")

// ------- READ -------
// Get an order by client order ID
Expand Down

0 comments on commit ea8915a

Please sign in to comment.