package com.foxinmy.weixin4j.mp.test; import java.util.ArrayList; import java.util.List; import org.junit.Assert; import org.junit.Before; import org.junit.Test; import com.foxinmy.weixin4j.exception.WeixinException; import com.foxinmy.weixin4j.http.weixin.ApiResult; import com.foxinmy.weixin4j.model.Button; import com.foxinmy.weixin4j.mp.api.MenuApi; import com.foxinmy.weixin4j.mp.model.Menu; import com.foxinmy.weixin4j.mp.model.MenuMatchRule; import com.foxinmy.weixin4j.mp.type.ClientPlatformType; import com.foxinmy.weixin4j.type.ButtonType; /** * 自定义菜单测试 * * @className MenuTest * @author jinyu(foxinmy@gmail.com) * @date 2014年4月10日 * @since JDK 1.6 */ public class MenuTest extends TokenTest { private MenuApi menuApi; private List<Button> buttons; @Before public void init() { menuApi = new MenuApi(tokenManager); } @Test public void create() throws WeixinException { buttons = new ArrayList<Button>(); String domain = "http://wx.jdxg.doubimeizhi.com"; buttons.add(new Button("立即下单", domain, ButtonType.view)); //buttons.add(new Button("个人中心", domain + "/user", ButtonType.view)); Button button = new Button("小哥介绍", domain, ButtonType.view); button.pushSub(new Button("小哥介绍", "http://x.eqxiu.com/s/89oy462U", ButtonType.view)); button.pushSub(new Button("小哥官网", "http://www.jdxiaoge.com", ButtonType.view)); button.pushSub(new Button("兴趣部落", "http://buluo.qq.com/p/barindex.html?from=share&bid=282651", ButtonType.view)); button.pushSub(new Button("服务流程", "FLOW", ButtonType.click)); button.pushSub(new Button("在线客服", "KF", ButtonType.click)); //buttons.add(button); ApiResult result = menuApi.createMenu(buttons); Assert.assertEquals("0", result.getReturnCode()); } @Test public void create1() throws WeixinException { buttons = new ArrayList<Button>(); Button b1 = new Button("我要订餐", "ORDERING", ButtonType.click); buttons.add(b1); Button b2 = new Button("查询订单", "http://www.lendocean.com/order/list", ButtonType.view); buttons.add(b2); Button b3 = new Button("最新资讯", "NEWS", ButtonType.click); buttons.add(b3); ApiResult result = menuApi.createMenu(buttons); Assert.assertEquals("0", result.getReturnCode()); } @Test public void get() throws WeixinException { buttons = menuApi.getMenu(); for (Button btn : buttons) { System.out.println(btn); } Assert.assertEquals(3, buttons.size()); // Button [name=我的门店, type=view, // content=http://dianzhang.canyi.net/setting/index, subs=[]] // Button [name=每日签到, type=click, content=CHECKIN, subs=[]] // Button [name=今日订单, type=null, content=null, subs=[Button [name=今日订单, // type=view, content=http://dianzhang.canyi.net/order/index, subs=[]], // Button [name=营业统计, type=view, // content=http://dianzhang.canyi.net/stats/index, subs=[]]]] } @Test public void delete() throws WeixinException { ApiResult result = menuApi.deleteMenu(); Assert.assertEquals("0", result.getReturnCode()); } @Test public void testCustom() throws WeixinException { buttons = new ArrayList<Button>(); buttons.add(new Button("only for iphone", "iphone", ButtonType.click)); MenuMatchRule matchRule = new MenuMatchRule(); matchRule.platform(ClientPlatformType.IOS); Assert.assertNotNull(menuApi.createCustomMenu(buttons, matchRule)); } @Test public void testGetAllMenus() throws WeixinException { List<Menu> menus = menuApi.getAllMenu(); System.err.println(menus); } @Test public void testMatchMenu() throws WeixinException { List<Button> buttons = menuApi.matchCustomMenu("paihuaing"); System.err.println(buttons); } }