package klink

import (
	"github.com/gogf/gf/encoding/gjson"
	"github.com/stretchr/testify/assert"
	"testing"
)

func TestDevSend_Marshal(t *testing.T) {
	d := &DevSend{
		Action:     "devSend",
		MsgId:      0,
		DeviceCode: "11111",
		Data: &DevSendData{
			Cmd:    "powerOn",
			Params: gjson.New(`{}`),
		},
	}
	b, err := d.Marshal()
	if err != nil {
		t.Fatal(err)
	}
	newD := &DevSend{}
	err = newD.UnMarshal(b)
	if err != nil {
		t.Fatal(err)
	}
	assert.Equal(t, d.Action, newD.Action)
}

func TestDevSend_UnMarshal(t *testing.T) {
	j := gjson.New(`{"action":"devSend","data":{"cmd":"powerOn","params":{"power":1}},"deviceCode":"5566","msgId":1,"timestamp":1662432310}`)
	params := j.GetJson("data")
	t.Log(params.GetMap("params"))

}
