增加了用户管理和编辑的API及相应的测试

This commit is contained in:
hohoTT
2015-08-07 20:25:58 +08:00
parent d64b99eed3
commit 69385e96d2
5 changed files with 136 additions and 8 deletions

View File

@@ -144,6 +144,62 @@ class UserChangePasswordAPITest(APITestCase):
self.assertEqual(response.data, {"code": 0, "data": u"用户密码修改成功!"})
class UserAPITest(APITestCase):
def setUp(self):
self.client = APIClient()
self.url = reverse("user_list_api")
def test_success_get_data(self):
self.assertEqual(self.client.get(self.url).data["code"], 0)
def test_error_admin_type(self):
response = self.client.get(self.url + "?admin_type=error")
self.assertEqual(response.data, {"code": 1, "data": u"参数错误"})
def test_query_by_keyword(self):
user1 = User.objects.create(username="test1", real_name="aa")
user1.set_password("testaa")
user1.save()
user2 = User.objects.create(username="test2", real_name="bb")
user2.set_password("testbb")
user2.save()
user3 = User.objects.create(username="test3", real_name="cc")
user3.set_password("testcc")
user3.save()
response = self.client.get(self.url + "?keyword=test1")
self.assertEqual(response.data["code"], 0)
class UserAdminAPITest(APITestCase):
def setUp(self):
self.client = APIClient()
self.url = reverse("user_admin_api")
user = User.objects.create(username="test")
user.set_password("testaa")
user.save()
def test_put_invalid_data(self):
self.client.login(username="test", password="test")
data = {"username": "test", "password": "testaa", "email": "60@qq.com", "admin_type": "2"}
response = self.client.put(self.url, data=data)
self.assertEqual(response.data["code"], 1)
def test_user_does_not_exist(self):
data = {"id": 2, "username": "test0", "real_name": "test00",
"password": "testaa","email": "60@qq.com", "admin_type": "2"}
response = self.client.put(self.url, data=data)
self.assertEqual(response.data, {"code": 1, "data": u"该用户不存在!"})
def test_success_user_edit_not_password(self):
data = {"id": 1, "username": "test0", "real_name": "test00", "password": "aaaaaa",
"email": "60@qq.com", "admin_type": "2"}
response = self.client.put(self.url, data=data)
self.assertEqual(response.data["code"], 0)
@login_required
def login_required_FBV_test_without_args(request):
return HttpResponse("function based view test1")