#1046 企业微信增加支持最新添加的任务卡片消息
This commit is contained in:
@@ -0,0 +1,65 @@
|
||||
package me.chanjar.weixin.cp.api.impl;
|
||||
|
||||
import com.google.inject.Inject;
|
||||
import me.chanjar.weixin.common.error.WxErrorException;
|
||||
import me.chanjar.weixin.cp.api.ApiTestModule;
|
||||
import me.chanjar.weixin.cp.api.WxCpService;
|
||||
import me.chanjar.weixin.cp.bean.WxCpMessage;
|
||||
import me.chanjar.weixin.cp.bean.WxCpMessageSendResult;
|
||||
import me.chanjar.weixin.cp.bean.taskcard.TaskCardButton;
|
||||
import org.testng.annotations.Guice;
|
||||
import org.testng.annotations.Test;
|
||||
|
||||
import java.util.Arrays;
|
||||
|
||||
import static org.testng.Assert.assertNotNull;
|
||||
|
||||
/**
|
||||
* 测试任务卡片服务
|
||||
*
|
||||
* @author <a href="https://github.com/domainname">Jeff</a>
|
||||
* @date 2019-05-16
|
||||
*/
|
||||
@Guice(modules = ApiTestModule.class)
|
||||
public class WxCpTaskCardServiceImplTest {
|
||||
|
||||
@Inject
|
||||
private WxCpService wxCpService;
|
||||
|
||||
@Test
|
||||
public void testSendTaskCard() throws WxErrorException {
|
||||
TaskCardButton btn1 = TaskCardButton.builder()
|
||||
.key("key1")
|
||||
.name("同意")
|
||||
.replaceName("已同意")
|
||||
.bold(true)
|
||||
.build();
|
||||
TaskCardButton btn2 = TaskCardButton.builder()
|
||||
.key("key2")
|
||||
.name("拒绝")
|
||||
.replaceName("已拒绝")
|
||||
.color("red")
|
||||
.build();
|
||||
WxCpMessage message = WxCpMessage.TASKCARD()
|
||||
.toUser("jeff|mr.t")
|
||||
.title("有一个待审批的请求")
|
||||
.description("申请:购买图书\n金额:100 元")
|
||||
.taskId("task_1")
|
||||
.url("http://www.qq.com")
|
||||
.buttons(Arrays.asList(btn1, btn2))
|
||||
.build();
|
||||
|
||||
WxCpMessageSendResult messageSendResult = this.wxCpService.messageSend(message);
|
||||
assertNotNull(messageSendResult);
|
||||
System.out.println(messageSendResult);
|
||||
System.out.println(messageSendResult.getInvalidPartyList());
|
||||
System.out.println(messageSendResult.getInvalidUserList());
|
||||
System.out.println(messageSendResult.getInvalidTagList());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testUpdate() throws Exception {
|
||||
wxCpService.getTaskCardService().update(Arrays.asList("jeff", "mr.t"), "task_1", "key1");
|
||||
}
|
||||
|
||||
}
|
||||
@@ -1,9 +1,11 @@
|
||||
package me.chanjar.weixin.cp.bean;
|
||||
|
||||
import org.testng.annotations.*;
|
||||
|
||||
import me.chanjar.weixin.cp.bean.article.MpnewsArticle;
|
||||
import me.chanjar.weixin.cp.bean.article.NewArticle;
|
||||
import me.chanjar.weixin.cp.bean.taskcard.TaskCardButton;
|
||||
import org.testng.annotations.Test;
|
||||
|
||||
import java.util.Arrays;
|
||||
|
||||
import static org.assertj.core.api.Assertions.assertThat;
|
||||
|
||||
@@ -67,7 +69,7 @@ public class WxCpMessageTest {
|
||||
WxCpMessage reply = WxCpMessage.NEWS().toUser("OPENID").addArticle(article1).addArticle(article2).build();
|
||||
|
||||
assertThat(reply.toJson())
|
||||
.isEqualTo( "{\"touser\":\"OPENID\",\"msgtype\":\"news\",\"news\":{\"articles\":" +
|
||||
.isEqualTo("{\"touser\":\"OPENID\",\"msgtype\":\"news\",\"news\":{\"articles\":" +
|
||||
"[{\"title\":\"Happy Day\",\"description\":\"Is Really A Happy Day\",\"url\":\"URL\",\"picurl\":\"PIC_URL\"}," +
|
||||
"{\"title\":\"Happy Day\",\"description\":\"Is Really A Happy Day\",\"url\":\"URL\",\"picurl\":\"PIC_URL\"}]}," +
|
||||
"\"safe\":\"0\"}");
|
||||
@@ -97,7 +99,7 @@ public class WxCpMessageTest {
|
||||
WxCpMessage reply = WxCpMessage.MPNEWS().toUser("OPENID").addArticle(article1, article2).build();
|
||||
|
||||
assertThat(reply.toJson())
|
||||
.isEqualTo( "{\"touser\":\"OPENID\",\"msgtype\":\"mpnews\",\"mpnews\":{\"articles\":" +
|
||||
.isEqualTo("{\"touser\":\"OPENID\",\"msgtype\":\"mpnews\",\"mpnews\":{\"articles\":" +
|
||||
"[{\"title\":\"Happy Day\",\"thumb_media_id\":\"thumb\",\"author\":\"aaaaaa\"," +
|
||||
"\"content_source_url\":\"nice url\",\"content\":\"hahaha\",\"digest\":\"digest\",\"show_cover_pic\":\"heihei\"}" +
|
||||
",{\"title\":\"Happy Day\",\"thumb_media_id\":\"thumb\",\"author\":\"aaaaaa\"," +
|
||||
@@ -112,4 +114,30 @@ public class WxCpMessageTest {
|
||||
.isEqualTo("{\"touser\":\"OPENID\",\"msgtype\":\"mpnews\",\"mpnews\":{\"media_id\":\"mmm\"},\"safe\":\"0\"}");
|
||||
}
|
||||
|
||||
public void testTaskCardBuilder() {
|
||||
TaskCardButton button1 = TaskCardButton.builder()
|
||||
.key("yes")
|
||||
.name("批准")
|
||||
.replaceName("已批准")
|
||||
.color("blue")
|
||||
.bold(true)
|
||||
.build();
|
||||
TaskCardButton button2 = TaskCardButton.builder()
|
||||
.key("yes")
|
||||
.name("拒绝")
|
||||
.replaceName("已拒绝")
|
||||
.color("red")
|
||||
.bold(false)
|
||||
.build();
|
||||
WxCpMessage reply = WxCpMessage.TASKCARD().toUser("OPENID")
|
||||
.title("任务卡片")
|
||||
.description("有一条待处理任务")
|
||||
.url("http://www.qq.com")
|
||||
.taskId("task_123")
|
||||
.buttons(Arrays.asList(button1, button2))
|
||||
.build();
|
||||
assertThat(reply.toJson())
|
||||
.isEqualTo("{\"touser\":\"OPENID\",\"msgtype\":\"taskcard\",\"taskcard\":{\"title\":\"任务卡片\",\"description\":\"有一条待处理任务\",\"url\":\"http://www.qq.com\",\"task_id\":\"task_123\",\"btn\":[{\"key\":\"yes\",\"name\":\"批准\",\"replace_name\":\"已批准\",\"color\":\"blue\",\"is_bold\":true},{\"key\":\"yes\",\"name\":\"拒绝\",\"replace_name\":\"已拒绝\",\"color\":\"red\",\"is_bold\":false}]}}");
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -1,9 +1,11 @@
|
||||
package me.chanjar.weixin.cp.bean;
|
||||
|
||||
import me.chanjar.weixin.common.api.WxConsts;
|
||||
import org.testng.annotations.*;
|
||||
import org.testng.annotations.Test;
|
||||
|
||||
import static org.testng.Assert.*;
|
||||
import static me.chanjar.weixin.cp.WxCpConsts.EventType.TASKCARD_CLICK;
|
||||
import static org.testng.Assert.assertEquals;
|
||||
import static org.testng.Assert.assertNotNull;
|
||||
|
||||
@Test
|
||||
public class WxCpXmlMessageTest {
|
||||
@@ -149,4 +151,26 @@ public class WxCpXmlMessageTest {
|
||||
assertEquals(wxMessage.getExtAttrs().getItems().get(0).getName(), "爱好");
|
||||
|
||||
}
|
||||
|
||||
public void testTaskCardEvent() {
|
||||
String xml = "<xml>" +
|
||||
"<ToUserName><![CDATA[toUser]]></ToUserName>" +
|
||||
"<FromUserName><![CDATA[FromUser]]></FromUserName>" +
|
||||
"<CreateTime>123456789</CreateTime>" +
|
||||
"<MsgType><![CDATA[event]]></MsgType>" +
|
||||
"<Event><![CDATA[taskcard_click]]></Event>" +
|
||||
"<EventKey><![CDATA[key111]]></EventKey>" +
|
||||
"<TaskId><![CDATA[taskid111]]></TaskId >" +
|
||||
"<AgentID>1</AgentID>" +
|
||||
"</xml>";
|
||||
WxCpXmlMessage wxMessage = WxCpXmlMessage.fromXml(xml);
|
||||
assertEquals(wxMessage.getToUserName(), "toUser");
|
||||
assertEquals(wxMessage.getFromUserName(), "FromUser");
|
||||
assertEquals(wxMessage.getCreateTime(), Long.valueOf(123456789L));
|
||||
assertEquals(wxMessage.getMsgType(), WxConsts.XmlMsgType.EVENT);
|
||||
assertEquals(wxMessage.getAgentId(), Integer.valueOf(1));
|
||||
assertEquals(wxMessage.getEvent(), TASKCARD_CLICK);
|
||||
assertEquals(wxMessage.getEventKey(), "key111");
|
||||
assertEquals(wxMessage.getTaskId(), "taskid111");
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user