dev --- 3.8.0.A版本, openProject引用 ; formao-live --- 3.7.0.B 版本, formallProject引用
Du kan inte välja fler än 25 ämnen Ämnen måste starta med en bokstav eller siffra, kan innehålla bindestreck ('-') och vara max 35 tecken långa.

112 rader
3.1 KiB

  1. package chanjarster.weixin.bean;
  2. import org.testng.Assert;
  3. import org.testng.annotations.DataProvider;
  4. import org.testng.annotations.Test;
  5. import chanjarster.weixin.bean.WxMenu.WxMenuButton;
  6. @Test
  7. public class WxMenuTest {
  8. @Test(dataProvider="wxReturnMenu")
  9. public void testFromJson(String json) {
  10. WxMenu menu = WxMenu.fromJson(json);
  11. Assert.assertEquals(menu.getButton().size(), 3);
  12. }
  13. @Test(dataProvider="wxPushMenu")
  14. public void testToJson(String json) {
  15. WxMenu menu = new WxMenu();
  16. WxMenuButton button1 = new WxMenuButton();
  17. button1.setType("click");
  18. button1.setName("今日歌曲");
  19. button1.setKey("V1001_TODAY_MUSIC");
  20. WxMenuButton button2 = new WxMenuButton();
  21. button2.setType("click");
  22. button2.setName("歌手简介");
  23. button2.setKey("V1001_TODAY_SINGER");
  24. WxMenuButton button3 = new WxMenuButton();
  25. button3.setName("菜单");
  26. menu.getButton().add(button1);
  27. menu.getButton().add(button2);
  28. menu.getButton().add(button3);
  29. WxMenuButton button31 = new WxMenuButton();
  30. button31.setType("view");
  31. button31.setName("搜索");
  32. button31.setUrl("http://www.soso.com/");
  33. WxMenuButton button32 = new WxMenuButton();
  34. button32.setType("view");
  35. button32.setName("视频");
  36. button32.setUrl("http://v.qq.com/");
  37. WxMenuButton button33 = new WxMenuButton();
  38. button33.setType("click");
  39. button33.setName("赞一下我们");
  40. button33.setKey("V1001_GOOD");
  41. button3.getSub_button().add(button31);
  42. button3.getSub_button().add(button32);
  43. button3.getSub_button().add(button33);
  44. Assert.assertEquals(menu.toJson(), json);
  45. }
  46. @DataProvider
  47. public Object[][] wxReturnMenu() {
  48. Object[][] res = menuJson();
  49. String json = "{ \"menu\" : " + res[0][0] + " }";
  50. return new Object[][] {
  51. new Object[] { json }
  52. };
  53. }
  54. @DataProvider(name="wxPushMenu")
  55. public Object[][] menuJson() {
  56. String json =
  57. "{"
  58. +"\"button\":["
  59. +"{"
  60. +"\"type\":\"click\","
  61. +"\"name\":\"今日歌曲\","
  62. +"\"key\":\"V1001_TODAY_MUSIC\""
  63. +"},"
  64. +"{"
  65. +"\"type\":\"click\","
  66. +"\"name\":\"歌手简介\","
  67. +"\"key\":\"V1001_TODAY_SINGER\""
  68. +"},"
  69. +"{"
  70. +"\"name\":\"菜单\","
  71. +"\"sub_button\":["
  72. +"{"
  73. +"\"type\":\"view\","
  74. +"\"name\":\"搜索\","
  75. +"\"url\":\"http://www.soso.com/\""
  76. +"},"
  77. +"{"
  78. +"\"type\":\"view\","
  79. +"\"name\":\"视频\","
  80. +"\"url\":\"http://v.qq.com/\""
  81. +"},"
  82. +"{"
  83. +"\"type\":\"click\","
  84. +"\"name\":\"赞一下我们\","
  85. +"\"key\":\"V1001_GOOD\""
  86. +"}"
  87. +"]"
  88. +"}"
  89. +"]"
  90. +"}";
  91. return new Object[][] {
  92. new Object[] { json }
  93. };
  94. }
  95. }