Quellcode durchsuchen

save meeting entity test.. pass

master
Patrick Peng Sun vor 8 Jahren
Ursprung
Commit
d7905d6b0f
2 geänderte Dateien mit 83 neuen und 2 gelöschten Zeilen
  1. +54
    -2
      crmMeeting_test.go
  2. +29
    -0
      crmdMeeting.go

+ 54
- 2
crmMeeting_test.go Datei anzeigen

@@ -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 Datei anzeigen

@@ -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
}

Laden…
Abbrechen
Speichern