use of org.neusoft.neubbs.entity.UserDO in project neubbs by nuitcoder.
the class UserDAOTest method testUpdateUserRankByName.
/**
* 测试更新用户权限
*/
@Test
@Transactional
public void testUpdateUserRankByName() {
UserDO user = this.getTestUserDO();
Assert.assertEquals(1, userDAO.saveUser(user));
String username = "testUser";
String newRank = "admin";
Assert.assertEquals(1, userDAO.updateUserRankByName(username, newRank));
Assert.assertEquals(newRank, userDAO.getUserByName(username).getRank());
System.out.println("update username=" + username + " rank to <" + newRank + "> success!");
}
use of org.neusoft.neubbs.entity.UserDO in project neubbs by nuitcoder.
the class ApiTestUtil method getOtherAlreadyLoginUserCookie.
/**
* 获取其他已登陆用户的 Cookie
* - 默认是 suvan 用户,则该函数获取获取另外一个用户对象
*
* @return Cookie 其他已登陆用户的Cookie
*/
Cookie getOtherAlreadyLoginUserCookie() {
UserDO otherUser = new UserDO();
otherUser.setId(123);
otherUser.setName("noExistUser");
otherUser.setRank(SetConst.RANK_USER);
otherUser.setState(SetConst.ACCOUNT_ACTIVATED_STATE);
return new Cookie(ParamConst.AUTHENTICATION, SecretUtil.generateUserInfoToken(otherUser));
}
use of org.neusoft.neubbs.entity.UserDO in project neubbs by nuitcoder.
the class ApiTestUtil method getNoActivatedUserDO.
/**
* 获取未激活的用户对象
*
* @return UserDO 未激活的用户对象
*/
UserDO getNoActivatedUserDO() {
UserDO user = new UserDO();
user.setId(6);
user.setName("suvan");
user.setRank(SetConst.RANK_ADMIN);
user.setState(SetConst.ACCOUNT_NO_ACTIVATED_STATE);
return user;
}
use of org.neusoft.neubbs.entity.UserDO in project neubbs by nuitcoder.
the class TopicControllerTest method testCollectTopicSuccess.
/**
* 测试 /api/topic/collect
* - 收藏话题成功 + 1 和 -1
* - 需要权限: @LoginAuthorization @AccountActivation
*/
@Test
@Transactional
public void testCollectTopicSuccess() throws Exception {
int topicId = 1;
Cookie cookie = util.getAlreadyLoginUserCookie();
UserDO cookieUser = SecretUtil.decryptUserInfoToken(cookie.getValue());
int cookieUserId = cookieUser.getId();
String requestBody = "{" + util.getJsonField("topicid", topicId) + "}";
// collect topic + 1
System.out.println("input 'inc' request-body: " + requestBody);
mockMvc.perform(MockMvcRequestBuilders.post("/api/topic/collect").cookie(cookie).contentType(MediaType.APPLICATION_JSON).content(requestBody).accept(MediaType.APPLICATION_JSON)).andExpect(MockMvcResultMatchers.jsonPath("$.success").value(true)).andExpect(MockMvcResultMatchers.jsonPath("$.message").value("")).andExpect(MockMvcResultMatchers.jsonPath("$.model").exists()).andExpect(MockMvcResultMatchers.jsonPath("$.model.userCollectTopicId").value(CoreMatchers.hasItem(topicId)));
// compare forum_topic_action 'fta_collect_fu_id_array'
JSONArray jsonArray = JSON.parseArray(topicActionDAO.getTopicActionCollectUserIdJsonArray(topicId));
Assert.assertEquals(cookieUserId, jsonArray.get(jsonArray.size() - 1));
// compare forum_user_action 'fua_following_fu_id_array'
jsonArray = JSON.parseArray(userActionDAO.getUserActionCollectTopicIdJsonArray(cookieUserId));
Assert.assertEquals(topicId, jsonArray.get(jsonArray.size() - 1));
// collect topic - 1
System.out.println("input 'dec' request-body: " + requestBody);
mockMvc.perform(MockMvcRequestBuilders.post("/api/topic/collect").cookie(cookie).contentType(MediaType.APPLICATION_JSON).content(requestBody).accept(MediaType.APPLICATION_JSON)).andExpect(MockMvcResultMatchers.jsonPath("$.success").value(true)).andExpect(MockMvcResultMatchers.jsonPath("$.message").value("")).andExpect(MockMvcResultMatchers.jsonPath("$.message").exists()).andExpect(MockMvcResultMatchers.jsonPath("$.model.userCollectTopicId").isArray());
Assert.assertEquals(-1, JsonUtil.getIntElementIndex(topicActionDAO.getTopicActionCollectUserIdJsonArray(topicId), cookieUserId));
Assert.assertEquals(-1, JsonUtil.getIntElementIndex(userActionDAO.getUserActionCollectTopicIdJsonArray(cookieUserId), topicId));
util.printSuccessMessage();
}
use of org.neusoft.neubbs.entity.UserDO in project neubbs by nuitcoder.
the class TopicControllerTest method testNewLikeTopicSuccess.
/**
* 测试 /topic/newlike
* - 点赞话题新接口成功 + 1 和 -1
* - 需要权限:@LoginAuthorization @AccountActivation
* - 新接口,不需要输入 command(inc | dec),重复调用即自判断点暂(or 取消)
*/
@Test
@Transactional
public void testNewLikeTopicSuccess() throws Exception {
int topicId = 1;
Cookie cookie = util.getAlreadyLoginUserCookie();
UserDO cookieUser = SecretUtil.decryptUserInfoToken(cookie.getValue());
int cookieUserId = cookieUser.getId();
String requestBody = "{" + util.getJsonField("topicid", topicId) + "}";
// like topic + 1
TopicContentDO topicContent = topicContentDAO.getTopicContentByTopicId(topicId);
int beforeTopicLike = topicContent.getLike();
System.out.println("request 'inc' request-body: " + requestBody);
mockMvc.perform(MockMvcRequestBuilders.post("/api/topic/newlike").cookie(cookie).contentType(MediaType.APPLICATION_JSON).content(requestBody).accept(MediaType.APPLICATION_JSON)).andExpect(MockMvcResultMatchers.jsonPath("$.success").value(true)).andExpect(MockMvcResultMatchers.jsonPath("$.message").value("")).andExpect(MockMvcResultMatchers.jsonPath("$.model").exists()).andExpect(MockMvcResultMatchers.jsonPath("$.model.userLikeTopicId").isArray()).andExpect(MockMvcResultMatchers.jsonPath("$.model.like").value(beforeTopicLike + 1));
// judge forum_user_action 'fua_like_ft_id_array'
JSONArray jsonArray = JSON.parseArray(userActionDAO.getUserActionLikeTopicIdJsonArray(cookieUserId));
Assert.assertEquals(topicId, jsonArray.get(jsonArray.size() - 1));
// judge forum_topic_action 'fta_like_fu_id_array'
jsonArray = JSON.parseArray(topicActionDAO.getTopicActionLikeUserIdJsonArray(topicId));
Assert.assertEquals(cookieUserId, jsonArray.get(jsonArray.size() - 1));
// like topic - 1
System.out.println("request 'dec' request-body: " + requestBody);
mockMvc.perform(MockMvcRequestBuilders.post("/api/topic/newlike").cookie(util.getAlreadyLoginUserCookie()).contentType(MediaType.APPLICATION_JSON).content(requestBody).accept(MediaType.APPLICATION_JSON)).andExpect(MockMvcResultMatchers.jsonPath("$.success").value(true)).andExpect(MockMvcResultMatchers.jsonPath("$.message").value("")).andExpect(MockMvcResultMatchers.jsonPath("$.model").exists()).andExpect(MockMvcResultMatchers.jsonPath("$.model.userLikeTopicId").isArray()).andExpect(MockMvcResultMatchers.jsonPath("$.model.like").value(beforeTopicLike));
Assert.assertEquals(-1, JsonUtil.getIntElementIndex(userActionDAO.getUserActionLikeTopicIdJsonArray(cookieUserId), topicId));
Assert.assertEquals(-1, JsonUtil.getIntElementIndex(topicActionDAO.getTopicActionLikeUserIdJsonArray(topicId), cookieUserId));
util.printSuccessMessage();
}
Aggregations