fadd
This commit is contained in:
104
internal/shared/fadada/template_service_test.go
Normal file
104
internal/shared/fadada/template_service_test.go
Normal file
@@ -0,0 +1,104 @@
|
||||
package fadada
|
||||
|
||||
import (
|
||||
"testing"
|
||||
)
|
||||
|
||||
func TestBuildTemplateFieldValues(t *testing.T) {
|
||||
client := NewClient(&Config{
|
||||
AppID: "app",
|
||||
AppSecret: "secret",
|
||||
ServerURL: "https://uat-api.fadada.com/api/v5/",
|
||||
OpenCorpID: "corp",
|
||||
TemplateID: "1784013372537192273",
|
||||
TemplateFields: &TemplateFields{
|
||||
AgreementNo: []string{
|
||||
"5199991781",
|
||||
"0923405093",
|
||||
},
|
||||
ContractDate: "2039326319",
|
||||
PartyAName: []string{
|
||||
"6920634255",
|
||||
"1847502631",
|
||||
},
|
||||
PartyAUSCC: "8702060291",
|
||||
PartyAAddress: "4557539440",
|
||||
PartyARep: "8627432823",
|
||||
},
|
||||
})
|
||||
|
||||
values := client.BuildTemplateFieldValues(&ContractFillRequest{
|
||||
AgreementNo: "HYDATA-20260714-R000001",
|
||||
CompanyName: "测试企业有限公司",
|
||||
UnifiedSocialCode: "91110000MA01234567",
|
||||
EnterpriseAddress: "海南省海口市",
|
||||
AuthorizedRepName: "张三",
|
||||
SignDate: "2026年07月14日",
|
||||
})
|
||||
|
||||
want := map[string]string{
|
||||
"5199991781": "HYDATA-20260714-R000001",
|
||||
"0923405093": "HYDATA-20260714-R000001",
|
||||
"6920634255": "测试企业有限公司",
|
||||
"1847502631": "测试企业有限公司",
|
||||
"2039326319": "2026年07月14日",
|
||||
"8702060291": "91110000MA01234567",
|
||||
"4557539440": "海南省海口市",
|
||||
"8627432823": "张三",
|
||||
}
|
||||
if len(values) != len(want) {
|
||||
t.Fatalf("field count = %d, want %d", len(values), len(want))
|
||||
}
|
||||
got := make(map[string]string, len(values))
|
||||
for _, v := range values {
|
||||
got[v.FieldID] = v.FieldValue
|
||||
}
|
||||
for id, val := range want {
|
||||
if got[id] != val {
|
||||
t.Fatalf("field %s = %q, want %q", id, got[id], val)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
func TestResolveSignTaskDocIDFromConfig(t *testing.T) {
|
||||
c := NewClient(&Config{
|
||||
AppID: "app",
|
||||
AppSecret: "secret",
|
||||
ServerURL: "https://uat-api.fadada.com/api/v5/",
|
||||
TemplateDocID: "19161471",
|
||||
})
|
||||
id, err := c.resolveSignTaskDocID("task-1", "")
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
if id != "19161471" {
|
||||
t.Fatalf("docId=%s", id)
|
||||
}
|
||||
}
|
||||
|
||||
func TestValidateTemplateFields(t *testing.T) {
|
||||
cfg := &Config{
|
||||
TemplateID: "1784013372537192273",
|
||||
OpenCorpID: "corp",
|
||||
TemplateFields: &TemplateFields{
|
||||
AgreementNo: []string{"0923405093", "5199991781"},
|
||||
ContractDate: "2039326319",
|
||||
PartyAName: []string{"6920634255", "1847502631"},
|
||||
PartyAUSCC: "8702060291",
|
||||
PartyAAddress: "4557539440",
|
||||
PartyARep: "8627432823",
|
||||
},
|
||||
}
|
||||
if err := cfg.ValidateTemplateFields(); err != nil {
|
||||
t.Fatalf("unexpected error: %v", err)
|
||||
}
|
||||
cfg.TemplateFields.PartyAName = nil
|
||||
if err := cfg.ValidateTemplateFields(); err == nil {
|
||||
t.Fatal("expected error when party_a_name empty")
|
||||
}
|
||||
cfg.TemplateFields.PartyAName = []string{"6920634255"}
|
||||
cfg.TemplateFields.AgreementNo = nil
|
||||
if err := cfg.ValidateTemplateFields(); err == nil {
|
||||
t.Fatal("expected error when agreement_no empty")
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user