You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

42 lines
1.0KB

  1. package main
  2. import (
  3. "encoding/json"
  4. "testing"
  5. "time"
  6. )
  7. func TestConvertLead2Contact(t *testing.T) {
  8. //create a lead
  9. l := crmdLead{}
  10. l.FirstName = "testConvert" + time.Now().Format(getCrmTimeLayout())
  11. l.LastName = "temp lead (deletable)"
  12. l.Status = "Deletable"
  13. l.Password = "password"
  14. l.EmailAddress = "non-exit-fake@badmail.com"
  15. l.PhoneNumber = "12345678-1"
  16. l.ForceDuplicate = true
  17. jsonB, err := json.Marshal(l)
  18. AssertEqual(t, err, nil, "")
  19. entity, err := crmCreateEntity("Lead", jsonB)
  20. AssertEqual(t, err, nil, "")
  21. lead := entity.(crmdLead)
  22. AssertEqual(t, lead.ID != "", true, "")
  23. //conver to contact
  24. cc := crmdContact{}
  25. err = cc.convertFromLead(lead.ID)
  26. AssertEqual(t, err, nil, "")
  27. AssertEqual(t, cc.OriginalLeadID, lead.ID, "")
  28. AssertEqual(t, cc.FirstName, lead.FirstName, "")
  29. AssertEqual(t, cc.LastName, lead.LastName, "")
  30. AssertEqual(t, cc.EmailAddress, lead.EmailAddress, "")
  31. AssertEqual(t, cc.PhoneNumber, lead.PhoneNumber, "")
  32. //delete lead
  33. crmDeleteEntity("Lead", lead.ID)
  34. //delete contact
  35. crmDeleteEntity("Contact", cc.ID)
  36. }