created test for create product

This commit is contained in:
Leyla Becker 2025-04-21 19:43:16 -05:00
parent e8775bda64
commit a042866e86
4 changed files with 51 additions and 6 deletions

View file

@ -71,17 +71,17 @@ func (database *Database) FindUserClaimById(claim_id int) (*UserClaim, error) {
return &claim, err
}
func (d *Database) CreateUserClaim(id int, form models.UserClaimForm) (*UserClaim, error) {
func (d *Database) CreateUserClaim(product_id int, form models.UserClaimForm) (*UserClaim, error) {
ctx := context.Background()
var uc = UserClaim{
Id: id,
Product_id: product_id,
Evidence_type: form.Evidence_type,
Evidence: form.Evidence,
Claims: form.Claims,
Counterclaims: form.Counterclaims,
}
err := d.db.Insert(ctx, UserClaimsTable, uc)
err := d.db.Insert(ctx, UserClaimsTable, &uc)
if err != nil {
return nil, err
}

View file

@ -0,0 +1,41 @@
package database
import (
"testing"
"vegan-barcode/internal/models"
)
func TestCreateClaimByProductId(t *testing.T) {
database := InitializeDatabase()
product, _ := database.CreateProduct("upc", "1234567890")
form := models.UserClaimForm{
Evidence_type: models.IngredientsList,
Evidence: models.IngredientsListEvidence{
Ingredients: "flour,egg,milk,water,salt,butter",
},
Claims: []models.ClaimType{
models.ContainsEggs,
models.ContainsMilk,
},
Counterclaims: []models.ClaimType{
models.ContainsMeat,
models.ContainsFish,
models.ContainsHoney,
},
Created_by: "1",
}
claim, err := database.CreateUserClaim(product.Id, form)
if err != nil {
t.Errorf("Got error while creating user claim %v", err)
}
foundClaim, _ := database.FindUserClaimById(claim.Id)
if foundClaim == nil {
t.Errorf("Could not find created claim %d", claim.Id)
}
}

View file

@ -16,7 +16,7 @@ type AutomatedClaim struct {
Id int `ksql:"id"`
Product_id int `ksql:"product_id"`
Worker_type models.WorkerType `ksql:"worker_type"`
Evidence struct{} `ksql:"evidence,json"`
Evidence interface{} `ksql:"evidence,json"`
Claims []models.ClaimType `ksql:"claims"`
Counterclaims []models.ClaimType `ksql:"counterclaims"`
Created_at time.Time `ksql:"created_at,timeNowUTC"`
@ -26,7 +26,7 @@ type UserClaim struct {
Id int `ksql:"id"`
Product_id int `ksql:"product_id"`
Evidence_type models.EvidenceType `ksql:"evidence_type"`
Evidence struct{} `ksql:"evidence,json"`
Evidence interface{} `ksql:"evidence,json"`
Claims []models.ClaimType `ksql:"claims"`
Counterclaims []models.ClaimType `ksql:"counterclaims"`
Created_at time.Time `ksql:"created_at,timeNowUTC"`

View file

@ -35,6 +35,10 @@ const (
IngredientsList
)
type IngredientsListEvidence struct {
Ingredients string
}
type ClusterType int
const (
@ -62,7 +66,7 @@ type ProductClaims struct {
type UserClaimForm struct {
Evidence_type EvidenceType
Evidence struct{}
Evidence interface{}
Claims []ClaimType
Counterclaims []ClaimType
Created_by string