105 lines
2.7 KiB
Go
105 lines
2.7 KiB
Go
|
|
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")
|
||
|
|
}
|
||
|
|
}
|