Procházet zdrojové kódy

save meeting entity test.. pass

master
Patrick Peng Sun před 8 roky
rodič
revize
d7905d6b0f
2 změnil soubory, kde provedl 83 přidání a 2 odebrání
  1. +54
    -2
      crmMeeting_test.go
  2. +29
    -0
      crmdMeeting.go

+ 54
- 2
crmMeeting_test.go Zobrazit soubor

@@ -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 Zobrazit soubor

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

Načítá se…
Zrušit
Uložit