瀏覽代碼

save meeting entity test.. pass

master
Patrick Peng Sun 8 年之前
父節點
當前提交
d7905d6b0f
共有 2 個文件被更改,包括 83 次插入2 次删除
  1. +54
    -2
      crmMeeting_test.go
  2. +29
    -0
      crmdMeeting.go

+ 54
- 2
crmMeeting_test.go 查看文件

@@ -1,7 +1,10 @@
package main

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

func TestDecodeMeetingJson(t *testing.T) {
msg := `
@@ -177,3 +180,52 @@ func TestDecodeMeetingJson(t *testing.T) {
AssertEqual(t, e.CoverName, "covername", "")

}

func TestCreateMeeting(t *testing.T) {

lead := crmdLead{}
lead.FirstName = "ff" + RandStringRunes(10)
lead.LastName = "ll" + RandStringRunes(10)
lead.Status = "testonly"
lead.Password = "apa"
lead.ForceDuplicate = true
newLead, err := lead.Save()
AssertEqual(t, err, nil, "create temp lead for meeting test should be ok")
AssertEqual(t, newLead.ID != "", true, "temp new lead should have ID")

meeting := crmdMeeting{}
meeting.Name = "至高无上的会议"
meeting.DateStart = time.Now().Format(getCrmTimeLayout())
meeting.Duration = 3600 //1hr
meeting.Description = "一些无聊的文字,凑在一起"
meeting.ParentID = newLead.ID
meeting.ParentType = "Lead"

newMeeting, err := meeting.save()
AssertEqual(t, err, nil, "create meeting should be successful")
AssertEqual(t, newMeeting.ID != "", true, "newly created meeting should have ID")

AssertEqual(t, newMeeting.Name, meeting.Name, "meeting name test fail")
AssertEqual(t, newMeeting.DateStart, meeting.DateStart, "meeting dateSTart test fail")
AssertEqual(t, newMeeting.Duration, meeting.Duration, "meeting duration test fail")
AssertEqual(t, newMeeting.Description, meeting.Description, "meeting Description test fail")
AssertEqual(t, newMeeting.ParentID, meeting.ParentID, "meeting parentID test fail")
AssertEqual(t, newMeeting.ParentType, meeting.ParentType, "meeting ParentType test fail")
AssertEqual(t, newMeeting.Status, "Planned", "meeting status is planned")

AssertEqual(t, newMeeting.ParentName, "", "parentName not expected to be updated")
entity, err := crmFindEntityByID("Meeting", newMeeting.ID)
AssertEqual(t, err, nil, "re read saved meeting should be ok")
anotherRead, ok := entity.(crmdMeeting)
AssertEqual(t, ok, true, "reading entity shold be crmdMeeting")
AssertEqual(t, anotherRead.ParentName, newLead.Name, "")

deleted, err := crmDeleteEntity("Meeting", newMeeting.ID)
AssertEqual(t, err, nil, "delet testmeeting should be successful")
AssertEqual(t, deleted, true, "temp meeting should have been deleted")

deleted, err = crmDeleteEntity("Lead", newLead.ID)
AssertEqual(t, err, nil, "delet tmp lead should be successful")
AssertEqual(t, deleted, true, "temp lead should have been deleted")

}

+ 29
- 0
crmdMeeting.go 查看文件

@@ -1,5 +1,9 @@
package main

import (
"encoding/json"
)

type crmdMeetingAttendance struct {
Status string `json:"status,omitempty"`
}
@@ -38,3 +42,28 @@ type crmdMeeting struct {
CoverID string `json:"coverId,omitempty"`
CoverName string `json:"coverName,omitempty"`
}

func (m crmdMeeting) save() (newMeeting crmdMeeting, err error) {
jsonB, err := json.Marshal(m)
if err != nil {
return
}

if m.ID == "" { //create
entity, e := crmCreateEntity("Meeting", jsonB)
if e != nil {
err = e
return
}
newMeeting = entity.(crmdMeeting)

} else { //patch
entity, e := crmUpdateEntity("Meeting", m.ID, jsonB)
if e != nil {
err = e
return
}
newMeeting = entity.(crmdMeeting)
}
return
}

Loading…
取消
儲存