more platform
This commit is contained in:
1 parent
8a71e32149
commit
2a66754f9e
27 files changed
+2435
-540
No files matched your search
@@ -0,0 +1,54 @@
|
||||
// Local helpers for the snapshot / holder tests — production code does not see
|
||||
// them. tProj is a stand-in stored value; the projection package is
|
||||
// value-agnostic, so the tests use a small local struct instead of depending on
|
||||
// catalog.Projection (the type these tests were extracted alongside).
|
||||
package projection
|
||||
|
||||
import "os"
|
||||
|
||||
// tProj mirrors the fields the ported catalog snapshot tests exercise. Prices
|
||||
// are plain int64 here (no money dependency in the generic package).
|
||||
type tProj struct {
|
||||
ID string `json:"id"`
|
||||
SKU string `json:"sku"`
|
||||
Title string `json:"title,omitempty"`
|
||||
PriceIncVat int64 `json:"price_inc_vat"`
|
||||
Currency string `json:"currency,omitempty"`
|
||||
TaxClass string `json:"tax_class,omitempty"`
|
||||
UpdatedAt int64 `json:"updated_at,omitempty"`
|
||||
}
|
||||
|
||||
func os2WriteFile(path string, data []byte, perm os.FileMode) error {
|
||||
return os.WriteFile(path, data, perm)
|
||||
}
|
||||
|
||||
func os2Stat(path string) (os.FileInfo, error) {
|
||||
return os.Stat(path)
|
||||
}
|
||||
|
||||
// appendP appends a tProj keyed by its own SKU — the producer/test pattern over
|
||||
// the generic SnapshotWriter (Append takes an explicit key).
|
||||
func appendP(w *SnapshotWriter[tProj], p tProj) error {
|
||||
return w.Append(p.SKU, p)
|
||||
}
|
||||
|
||||
// makeProjection builds a tProj fixture.
|
||||
func makeProjection(sku string, price int64) tProj {
|
||||
return tProj{
|
||||
ID: "sku:" + sku,
|
||||
SKU: sku,
|
||||
Title: "Item " + sku,
|
||||
PriceIncVat: price,
|
||||
Currency: "SEK",
|
||||
TaxClass: "standard",
|
||||
UpdatedAt: 1,
|
||||
}
|
||||
}
|
||||
|
||||
func repeat32(s string, n int) string {
|
||||
out := make([]byte, 0, n*len(s))
|
||||
for i := 0; i < n; i++ {
|
||||
out = append(out, s...)
|
||||
}
|
||||
return string(out)
|
||||
}
|
||||
Reference in new issue
Block a user