Initial commit of Descrybe v2 without local scratch artifacts.
Drop one-shot tmp/axe scripts and agent i18n scratch so the Gitea tree is deployable.
This commit is contained in:
@@ -0,0 +1,53 @@
|
||||
package feeds
|
||||
|
||||
import "testing"
|
||||
|
||||
func TestParseUIKeyMappingArray(t *testing.T) {
|
||||
raw := []any{
|
||||
map[string]any{
|
||||
"key": "Export/Item/ID",
|
||||
"mapping": map[string]any{
|
||||
"fieldName": "id",
|
||||
"xpath": "Export/Item/ID",
|
||||
"originalName": "ID",
|
||||
},
|
||||
},
|
||||
map[string]any{
|
||||
"key": "Export/Item/name",
|
||||
"mapping": map[string]any{
|
||||
"fieldName": "name",
|
||||
"xpath": "Export/Item/name",
|
||||
},
|
||||
},
|
||||
map[string]any{
|
||||
"key": "Export/Item/EAN",
|
||||
"mapping": map[string]any{
|
||||
"fieldName": "gtin",
|
||||
"xpath": "Export/Item/EAN",
|
||||
},
|
||||
},
|
||||
}
|
||||
got := parseMappings(raw)
|
||||
if len(got) != 3 {
|
||||
t.Fatalf("got %d mappings: %#v", len(got), got)
|
||||
}
|
||||
if got[0].targetKey() != "id" || got[0].sourceKey() != "Export/Item/ID" {
|
||||
t.Fatalf("first=%#v", got[0])
|
||||
}
|
||||
path := itemPathFromMappings(raw)
|
||||
if path != "Export/Item" {
|
||||
t.Fatalf("item path=%q", path)
|
||||
}
|
||||
}
|
||||
|
||||
func TestItemPathFromWrappedMappings(t *testing.T) {
|
||||
raw := map[string]any{
|
||||
"item_path": "rss/channel/item",
|
||||
"mappings": []any{
|
||||
map[string]any{"source": "title", "target": "title"},
|
||||
},
|
||||
}
|
||||
if itemPathFromMappings(raw) != "rss/channel/item" {
|
||||
t.Fatalf("path=%q", itemPathFromMappings(raw))
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user