Просмотр исходного кода

test case remove hardcode Get with specific lead ID

master
Patrick Peng Sun 8 лет назад
Родитель
Сommit
93c688dc7d
1 измененных файлов: 13 добавлений и 21 удалений
  1. +13
    -21
      crmEntity_test.go

+ 13
- 21
crmEntity_test.go Просмотреть файл



import ( import (
"encoding/json" "encoding/json"
"log"
"testing" "testing"
"time" "time"
) )


func TestGetEntity(t *testing.T) {
SetupConfig()
leadID := "595071f8450974b72"
entity, err := crmGetEntity("Lead", leadID)
AssertEqual(t, err, nil, "get entity should return nil error")

lead, ok := entity.(crmdLead)
AssertEqual(t, ok, true, "type assertion should be true")
AssertEqual(t, leadID, lead.ID, "lead id mismatch")

lead1 := entity.(crmdLead)
AssertEqual(t, lead.ID, lead1.ID, "type casting should work")
}

func TestCreateEntity(t *testing.T) { func TestCreateEntity(t *testing.T) {
SetupConfig() SetupConfig()
e := crmdLead{} e := crmdLead{}
e.Password = "pp" e.Password = "pp"
e.Status = "New" e.Status = "New"
b, _ := json.Marshal(e) b, _ := json.Marshal(e)
log.Println(string(b))

//Create
entity, _ := createEntity("Lead", b) entity, _ := createEntity("Lead", b)
lead1 := entity.(crmdLead)
log.Println(lead1)
lead1, ok := entity.(crmdLead)
AssertEqual(t, ok, true, "entity type should be crmdLead")


//Read
lead2, _ := crmGetLead(lead1.ID) lead2, _ := crmGetLead(lead1.ID)
AssertEqual(t, lead2.ID, lead1.ID, "lead id should be equal") AssertEqual(t, lead2.ID, lead1.ID, "lead id should be equal")


//Update
e.Password = "newpass" e.Password = "newpass"
b, _ = json.Marshal(e) b, _ = json.Marshal(e)
entity, _ = updateEntity("Lead", lead2.ID, b) entity, _ = updateEntity("Lead", lead2.ID, b)
lead3 := entity.(crmdLead) lead3 := entity.(crmdLead)
log.Println(lead3)
AssertEqual(t, lead3.ID, lead1.ID, "should be same lead") AssertEqual(t, lead3.ID, lead1.ID, "should be same lead")
AssertEqual(t, lead3.Password, "newpass", "password should have been changed") AssertEqual(t, lead3.Password, "newpass", "password should have been changed")
AssertEqual(t, lead1.Password, "pp", "old password should be PP") AssertEqual(t, lead1.Password, "pp", "old password should be PP")


//delete this test lead.
//Delete this test lead.
deleted, _ := deleteEntity("Lead", lead1.ID) deleted, _ := deleteEntity("Lead", lead1.ID)
AssertEqual(t, deleted, true, "record should be deleted") AssertEqual(t, deleted, true, "record should be deleted")


e.Status = "New" e.Status = "New"
e.WechatHitxyID = "someopenid" e.WechatHitxyID = "someopenid"
b, _ := json.Marshal(e) b, _ := json.Marshal(e)

//create
entity, _ := createEntity("Lead", b) entity, _ := createEntity("Lead", b)
lead1 := entity.(crmdLead) lead1 := entity.(crmdLead)

//Read
entity, _ = crmGetEntity("Lead", lead1.ID) entity, _ = crmGetEntity("Lead", lead1.ID)
lead2 := entity.(crmdLead) lead2 := entity.(crmdLead)
AssertEqual(t, lead1.ID, lead2.ID, "lead should have been created successfully") AssertEqual(t, lead1.ID, lead2.ID, "lead should have been created successfully")
//try to create it again //try to create it again
entity, err := createEntity("Lead", b) entity, err := createEntity("Lead", b)
AssertEqual(t, err == nil, false, "should have error for duplicates") AssertEqual(t, err == nil, false, "should have error for duplicates")
AssertEqual(t, isErrIndicateDuplicate(err), true, "this should be duplicate error")
AssertEqual(t, isErrIndicateDuplicate(err), true, "the err should be duplicate error")
} }


func TestCreateEntityServerNotFound(t *testing.T) { func TestCreateEntityServerNotFound(t *testing.T) {

Загрузка…
Отмена
Сохранить