mirror of
https://github.com/hanzoai/commerce.git
synced 2026-10-30 15:08:42 +00:00
Multi-tenant commerce and billing: orders, subscriptions, invoices, plans, usage metering and a credit ledger. One Go binary. MIT OR Apache-2.0. Claude-Session: https://claude.ai/code/session_01SAtaDFm8VDiWrhYHNNtxMw
67 lines
1.4 KiB
Go
67 lines
1.4 KiB
Go
package test
|
|
|
|
import (
|
|
"github.com/hanzoai/commerce/models/product"
|
|
"github.com/hanzoai/commerce/models/review"
|
|
"github.com/hanzoai/commerce/models/user"
|
|
|
|
. "github.com/hanzoai/commerce/util/test/ginkgo"
|
|
)
|
|
|
|
var _ = Describe("review", func() {
|
|
Context("New review", func() {
|
|
req := new(review.Review)
|
|
res := new(review.Review)
|
|
|
|
Before(func() {
|
|
usr := user.Fake(db)
|
|
usr.MustCreate()
|
|
|
|
prod := product.Fake(db)
|
|
prod.MustCreate()
|
|
|
|
req = review.Fake(db, usr.Id(), prod.Id())
|
|
res = review.New(db)
|
|
|
|
// Create new referrer
|
|
cl.Post("/review", req, res)
|
|
})
|
|
|
|
It("Should create new reviews", func() {
|
|
Expect(res.UserId).To(Equal(req.UserId))
|
|
Expect(res.ProductId).To(Equal(req.ProductId))
|
|
Expect(res.Name).To(Equal(req.Name))
|
|
Expect(res.Comment).To(Equal(req.Comment))
|
|
Expect(res.Rating).To(Equal(req.Rating))
|
|
})
|
|
})
|
|
|
|
Context("Get review", func() {
|
|
req := new(review.Review)
|
|
|
|
Before(func() {
|
|
usr := user.Fake(db)
|
|
usr.MustCreate()
|
|
|
|
prod := product.Fake(db)
|
|
prod.MustCreate()
|
|
|
|
req = review.Fake(db, usr.Id(), prod.Id())
|
|
req.Enabled = false
|
|
req.MustCreate()
|
|
})
|
|
|
|
It("Should not get disabled reviews", func() {
|
|
req.Enabled = false
|
|
req.MustUpdate()
|
|
cl.Get("/review/"+req.Id(), nil, 404)
|
|
})
|
|
|
|
It("Should get enabled reviews", func() {
|
|
req.Enabled = true
|
|
req.MustUpdate()
|
|
cl.Get("/review/"+req.Id(), nil, 200)
|
|
})
|
|
})
|
|
})
|