22 lines
843 B
Go
22 lines
843 B
Go
package run
|
|
|
|
import "testing"
|
|
|
|
func TestBuildOutputViewsSupportsKnowledge(t *testing.T) {
|
|
knowledge := []KnowledgeGroup{{Key: "soft_stool", Name: "软便", Type: "symptom"}}
|
|
raw := []byte(`{"fields":[{"key":"recommended","name":"推荐知识","type":"array","source":"knowledge"},{"key":"symptom","name":"症状","type":"object","source":"knowledge","source_field":"soft_stool"}]}`)
|
|
outputs, err := buildOutputViews(raw, nil, nil, nil, knowledge, "preview", "")
|
|
if err != nil {
|
|
t.Fatal(err)
|
|
}
|
|
if len(outputs) != 2 {
|
|
t.Fatalf("outputs=%#v", outputs)
|
|
}
|
|
if groups, ok := outputs[0].Value.([]KnowledgeGroup); !ok || len(groups) != 1 {
|
|
t.Fatalf("knowledge output=%#v", outputs[0].Value)
|
|
}
|
|
if group, ok := outputs[1].Value.(KnowledgeGroup); !ok || group.Key != "soft_stool" {
|
|
t.Fatalf("selected output=%#v", outputs[1].Value)
|
|
}
|
|
}
|