mirror of
https://gitlab.com/mbugroup/lti-api.git
synced 2026-05-25 15:55:44 +00:00
codex/fix: recheck and fix purchase receive failed and farm stock not shown on recording
This commit is contained in:
+1
@@ -29,6 +29,7 @@ func (u *ProductWarehouseController) GetAll(c *fiber.Ctx) error {
|
||||
Limit: c.QueryInt("limit", 10),
|
||||
ProductId: uint(c.QueryInt("product_id", 0)),
|
||||
WarehouseId: uint(c.QueryInt("warehouse_id", 0)),
|
||||
LocationId: uint(c.QueryInt("location_id", 0)),
|
||||
Flags: c.Query("flags", ""),
|
||||
KandangId: uint(c.QueryInt("kandang_id", 0)),
|
||||
TransferContext: c.Query(utils.TransferContextKey, ""),
|
||||
|
||||
+64
@@ -0,0 +1,64 @@
|
||||
package controller
|
||||
|
||||
import (
|
||||
"errors"
|
||||
"net/http/httptest"
|
||||
"testing"
|
||||
|
||||
"github.com/go-playground/validator/v10"
|
||||
"github.com/gofiber/fiber/v2"
|
||||
entity "gitlab.com/mbugroup/lti-api.git/internal/entities"
|
||||
service "gitlab.com/mbugroup/lti-api.git/internal/modules/inventory/product-warehouses/services"
|
||||
validation "gitlab.com/mbugroup/lti-api.git/internal/modules/inventory/product-warehouses/validations"
|
||||
"gorm.io/gorm"
|
||||
)
|
||||
|
||||
type stubProductWarehouseService struct {
|
||||
lastQuery *validation.Query
|
||||
}
|
||||
|
||||
func (s *stubProductWarehouseService) GetAll(_ *fiber.Ctx, params *validation.Query) ([]entity.ProductWarehouse, int64, error) {
|
||||
s.lastQuery = params
|
||||
return []entity.ProductWarehouse{}, 0, nil
|
||||
}
|
||||
|
||||
func (s *stubProductWarehouseService) GetOne(_ *fiber.Ctx, _ uint) (*entity.ProductWarehouse, error) {
|
||||
return nil, gorm.ErrRecordNotFound
|
||||
}
|
||||
|
||||
var _ service.ProductWarehouseService = (*stubProductWarehouseService)(nil)
|
||||
|
||||
func TestGetAllParsesLocationID(t *testing.T) {
|
||||
app := fiber.New()
|
||||
stub := &stubProductWarehouseService{}
|
||||
ctrl := NewProductWarehouseController(stub)
|
||||
app.Get("/product-warehouses", ctrl.GetAll)
|
||||
|
||||
req := httptest.NewRequest("GET", "/product-warehouses?location_id=16&kandang_id=59&limit=25", nil)
|
||||
resp, err := app.Test(req)
|
||||
if err != nil {
|
||||
t.Fatalf("unexpected error: %v", err)
|
||||
}
|
||||
if resp.StatusCode != fiber.StatusOK {
|
||||
t.Fatalf("expected status 200, got %d", resp.StatusCode)
|
||||
}
|
||||
if stub.lastQuery == nil {
|
||||
t.Fatalf("expected service to receive query")
|
||||
}
|
||||
if stub.lastQuery.LocationId != 16 {
|
||||
t.Fatalf("expected location_id 16, got %d", stub.lastQuery.LocationId)
|
||||
}
|
||||
if stub.lastQuery.KandangId != 59 {
|
||||
t.Fatalf("expected kandang_id 59, got %d", stub.lastQuery.KandangId)
|
||||
}
|
||||
if stub.lastQuery.Limit != 25 {
|
||||
t.Fatalf("expected limit 25, got %d", stub.lastQuery.Limit)
|
||||
}
|
||||
}
|
||||
|
||||
func TestStubImplementsServiceContract(t *testing.T) {
|
||||
validate := validator.New()
|
||||
if validate == nil {
|
||||
t.Fatal(errors.New("validator should not be nil"))
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user