package me.chanjar.weixin.common.bean;
import me.chanjar.weixin.common.bean.WxMenu.WxMenuButton;
import org.testng.Assert;
import org.testng.annotations.DataProvider;
import org.testng.annotations.Test;
@Test
public class WxMenuTest {
@Test(dataProvider="wxReturnMenu")
public void testFromJson(String json) {
WxMenu menu = WxMenu.fromJson(json);
Assert.assertEquals(menu.getButtons().size(), 3);
}
@Test(dataProvider="wxPushMenu")
public void testToJson(String json) {
WxMenu menu = new WxMenu();
WxMenuButton button1 = new WxMenuButton();
button1.setType("click");
button1.setName("今日歌曲");
button1.setKey("V1001_TODAY_MUSIC");
WxMenuButton button2 = new WxMenuButton();
button2.setType("click");
button2.setName("歌手简介");
button2.setKey("V1001_TODAY_SINGER");
WxMenuButton button3 = new WxMenuButton();
button3.setName("菜单");
menu.getButtons().add(button1);
menu.getButtons().add(button2);
menu.getButtons().add(button3);
WxMenuButton button31 = new WxMenuButton();
button31.setType("view");
button31.setName("搜索");
button31.setUrl("http://www.soso.com/");
WxMenuButton button32 = new WxMenuButton();
button32.setType("view");
button32.setName("视频");
button32.setUrl("http://v.qq.com/");
WxMenuButton button33 = new WxMenuButton();
button33.setType("click");
button33.setName("赞一下我们");
button33.setKey("V1001_GOOD");
button3.getSubButtons().add(button31);
button3.getSubButtons().add(button32);
button3.getSubButtons().add(button33);
Assert.assertEquals(menu.toJson(), json);
}
@DataProvider
public Object[][] wxReturnMenu() {
Object[][] res = menuJson();
String json = "{ \"menu\" : " + res[0][0] + " }";
return new Object[][] {
new Object[] { json }
};
}
@DataProvider(name="wxPushMenu")
public Object[][] menuJson() {
String json =
"{"
+"\"button\":["
+"{"
+"\"type\":\"click\","
+"\"name\":\"今日歌曲\","
+"\"key\":\"V1001_TODAY_MUSIC\""
+"},"
+"{"
+"\"type\":\"click\","
+"\"name\":\"歌手简介\","
+"\"key\":\"V1001_TODAY_SINGER\""
+"},"
+"{"
+"\"name\":\"菜单\","
+"\"sub_button\":["
+"{"
+"\"type\":\"view\","
+"\"name\":\"搜索\","
+"\"url\":\"http://www.soso.com/\""
+"},"
+"{"
+"\"type\":\"view\","
+"\"name\":\"视频\","
+"\"url\":\"http://v.qq.com/\""
+"},"
+"{"
+"\"type\":\"click\","
+"\"name\":\"赞一下我们\","
+"\"key\":\"V1001_GOOD\""
+"}"
+"]"
+"}"
+"]"
+"}";
return new Object[][] {
new Object[] { json }
};
}
}