Error prefiks: ErrArtikalNePostoji u db/repository.go, ntech: prefiks na ErrNedovoljnoKolicine
This commit is contained in:
@@ -6,5 +6,5 @@ type ErrNedovoljnoKolicine struct {
|
||||
}
|
||||
|
||||
func (e *ErrNedovoljnoKolicine) Error() string {
|
||||
return "Nedovoljno količine na stanju za artikal: " + e.ArtikalNaziv
|
||||
return "ntech: nedovoljno količine na stanju za artikal: " + e.ArtikalNaziv
|
||||
}
|
||||
|
||||
@@ -29,6 +29,9 @@ var ErrArtikalDuplikatSifre = errors.New("ntech: šifra ili barkod artikla već
|
||||
var ErrUslugaDuplikatSifre = errors.New("ntech: šifra usluge već postoji")
|
||||
var ErrTrosakDuplikatSifre = errors.New("ntech: šifra troška već postoji")
|
||||
|
||||
// ErrArtikalNePostoji se vraća kada se menja cena nepostojećeg artikla
|
||||
var ErrArtikalNePostoji = errors.New("ntech: artikal ne postoji")
|
||||
|
||||
// ArtikalRepository definiše operacije nad artiklima
|
||||
type ArtikalRepository interface {
|
||||
Lista(ctx context.Context, filter ArtikalFilter) ([]model.ArtikalSaKategorijom, error)
|
||||
|
||||
@@ -7,6 +7,7 @@ import (
|
||||
"fmt"
|
||||
"time"
|
||||
|
||||
"ntech/internal/db"
|
||||
"ntech/internal/model"
|
||||
)
|
||||
|
||||
@@ -20,9 +21,6 @@ func NoviNivelacijaRepo(db *sql.DB) *NivelacijaRepo {
|
||||
return &NivelacijaRepo{db: db}
|
||||
}
|
||||
|
||||
// ErrArtikalNePostoji se vraća kada se menja cena nepostojećeg artikla
|
||||
var ErrArtikalNePostoji = errors.New("artikal ne postoji")
|
||||
|
||||
// PromeniCenu transakciono menja prodajnu cenu artikla i upisuje nivelacioni zapis.
|
||||
// Stara cena se čita iz baze unutar transakcije; izvor je "rucno".
|
||||
func (r *NivelacijaRepo) PromeniCenu(ctx context.Context, artikalID int64, novaCena float64, razlog string, korisnikID *int64) (*model.Nivelacija, error) {
|
||||
@@ -35,7 +33,7 @@ func (r *NivelacijaRepo) PromeniCenu(ctx context.Context, artikalID int64, novaC
|
||||
var stara float64
|
||||
err = tx.QueryRowContext(ctx, "SELECT prodajna_cena FROM artikli WHERE id = ?", artikalID).Scan(&stara)
|
||||
if errors.Is(err, sql.ErrNoRows) {
|
||||
return nil, ErrArtikalNePostoji
|
||||
return nil, db.ErrArtikalNePostoji
|
||||
}
|
||||
if err != nil {
|
||||
return nil, fmt.Errorf("ntech: NivelacijaRepo.PromeniCenu: čitanje cene: %w", err)
|
||||
|
||||
@@ -5,6 +5,7 @@ import (
|
||||
"errors"
|
||||
"testing"
|
||||
|
||||
"ntech/internal/db"
|
||||
"ntech/internal/model"
|
||||
)
|
||||
|
||||
@@ -62,7 +63,7 @@ func TestPromeniCenu_NepostojeciArtikal(t *testing.T) {
|
||||
nivRepo := NoviNivelacijaRepo(baza)
|
||||
|
||||
_, err := nivRepo.PromeniCenu(ctx, 9999, 500, "test", nil)
|
||||
if !errors.Is(err, ErrArtikalNePostoji) {
|
||||
if !errors.Is(err, db.ErrArtikalNePostoji) {
|
||||
t.Errorf("greška = %v, očekivano ErrArtikalNePostoji", err)
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user