almost all team functionality tested
This commit is contained in:
@@ -133,25 +133,11 @@ def count_invites(manager):
|
||||
|
||||
return count
|
||||
|
||||
def count_members(id):
|
||||
t = Team.objects.get(id=id)
|
||||
return Rower.objects.filter(team=t).count()
|
||||
|
||||
def count_club_members(manager):
|
||||
ts = Team.objects.filter(manager=manager)
|
||||
return Rower.objects.filter(team__in=ts).distinct().count()
|
||||
|
||||
def get_club_members(manager):
|
||||
ts = Team.objects.filter(manager=manager)
|
||||
return Rower.objects.filter(team__in=ts).distinct()
|
||||
|
||||
def get_team_members(id):
|
||||
t = Team.objects.get(id=id)
|
||||
return Rower.objects.filter(team=t)
|
||||
|
||||
def get_team_workouts(id):
|
||||
t = Team.objects.get(id=id)
|
||||
return Workout.objects.filter(team=t).order_by("-date", "-starttime")
|
||||
|
||||
# Medium level functionality
|
||||
|
||||
|
||||
@@ -60,6 +60,8 @@ class TeamCreateTest(TestCase):
|
||||
|
||||
self.t = TeamFactory(manager=self.u)
|
||||
|
||||
# need to set up some requests for testing (they are not good below)
|
||||
|
||||
def tearDown(self):
|
||||
for csvfilename in self.csvfilenames:
|
||||
try:
|
||||
@@ -67,6 +69,22 @@ class TeamCreateTest(TestCase):
|
||||
except (IOError, WindowsError):
|
||||
pass
|
||||
|
||||
def test_manager_drop_member(self):
|
||||
res = add_member(self.t.id,self.users[1].rower)
|
||||
login = self.c.login(username=self.u.username, password = self.password)
|
||||
self.assertTrue(login)
|
||||
|
||||
url = '/rowers/me/team/{t}/drop/{u}/'.format(
|
||||
t = self.t.id,
|
||||
u = self.users[1].id
|
||||
)
|
||||
|
||||
response = self.c.get(url,follow=True)
|
||||
self.assertEqual(response.status_code,200)
|
||||
self.assertRedirects(response,
|
||||
expected_url='/rowers/me/teams/'.format(t=self.t.id),
|
||||
status_code=302,target_status_code=200)
|
||||
|
||||
def test_teamview(self):
|
||||
login = self.c.login(username=self.u.username, password = self.password)
|
||||
self.assertTrue(login)
|
||||
@@ -87,6 +105,117 @@ class TeamCreateTest(TestCase):
|
||||
response = self.c.get(url)
|
||||
self.assertEqual(response.status_code, 200)
|
||||
|
||||
def test_teamsview(self):
|
||||
id, result = create_request(self.t,self.users[2].id)
|
||||
id, comment = create_invite(self.t,self.u,user=self.users[1])
|
||||
|
||||
url = '/rowers/me/teams/'
|
||||
|
||||
login = self.c.login(username=self.users[2].username, password = self.user_passwords[2])
|
||||
self.assertTrue(login)
|
||||
|
||||
response = self.c.get(url,follow=True)
|
||||
self.assertEqual(response.status_code,200)
|
||||
|
||||
html = BeautifulSoup(response.content,'html.parser')
|
||||
urls = [a['href'] for a in html.find_all('a')]
|
||||
|
||||
for u in urls:
|
||||
if 'rowers' in u and 'http' not in u and 'authorize' not in u and 'import' not in u and 'logout' not in u:
|
||||
response = self.c.get(u)
|
||||
if response.status_code not in [200,302]:
|
||||
print url
|
||||
print u
|
||||
print response.status_code
|
||||
self.assertIn(response.status_code,[200,302])
|
||||
|
||||
login = self.c.login(username=self.users[1].username,
|
||||
password = self.user_passwords[1])
|
||||
self.assertTrue(login)
|
||||
|
||||
response = self.c.get(url,follow=True)
|
||||
self.assertEqual(response.status_code,200)
|
||||
|
||||
html = BeautifulSoup(response.content,'html.parser')
|
||||
urls = [a['href'] for a in html.find_all('a')]
|
||||
|
||||
for u in urls:
|
||||
if 'rowers' in u and 'http' not in u and 'authorize' not in u and 'import' not in u and 'logout' not in u:
|
||||
response = self.c.get(u)
|
||||
if response.status_code not in [200,302]:
|
||||
print url
|
||||
print u
|
||||
print response.status_code
|
||||
self.assertIn(response.status_code,[200,302])
|
||||
|
||||
def test_teamsview_manager(self):
|
||||
id, result = create_request(self.t,self.users[2].id)
|
||||
id, comment = create_invite(self.t,self.u,user=self.users[1])
|
||||
|
||||
url = '/rowers/me/teams/'
|
||||
|
||||
login = self.c.login(username=self.u,password=self.password)
|
||||
self.assertTrue(login)
|
||||
|
||||
response = self.c.get(url,follow=True)
|
||||
self.assertEqual(response.status_code,200)
|
||||
|
||||
html = BeautifulSoup(response.content,'html.parser')
|
||||
urls = [a['href'] for a in html.find_all('a')]
|
||||
|
||||
for u in urls:
|
||||
if 'rowers' in u and 'http' not in u and 'authorize' not in u and 'import' not in u and 'logout' not in u:
|
||||
response = self.c.get(u)
|
||||
if response.status_code not in [200,302]:
|
||||
print url
|
||||
print u
|
||||
print response.status_code
|
||||
self.assertIn(response.status_code,[200,302])
|
||||
|
||||
def test_teamview_member_request(self):
|
||||
|
||||
login = self.c.login(username=self.users[1].username, password = self.user_passwords[1])
|
||||
self.assertTrue(login)
|
||||
|
||||
url = '/rowers/team/{t}/requestmembership/{u}/'.format(
|
||||
t=self.t.id,
|
||||
u=self.users[1].id)
|
||||
|
||||
response = self.c.get(url,follow=True)
|
||||
self.assertEqual(response.status_code, 200)
|
||||
|
||||
self.assertRedirects(response,
|
||||
expected_url='/rowers/team/{t}/'.format(t=self.t.id),
|
||||
status_code=302,target_status_code=200)
|
||||
|
||||
id, result = create_request(self.t,self.users[2].id)
|
||||
self.assertTrue(id != 0)
|
||||
|
||||
login = self.c.login(username=self.users[2].username, password = self.user_passwords[2])
|
||||
self.assertTrue(login)
|
||||
|
||||
url = '/rowers/me/invitation/{id}/revoke/'.format(id=id)
|
||||
self.assertRedirects(response,
|
||||
expected_url='/rowers/team/{t}/'.format(t=self.t.id),
|
||||
status_code=302,target_status_code=200)
|
||||
|
||||
response = self.c.get(url,follow=True)
|
||||
self.assertEqual(response.status_code,200)
|
||||
|
||||
id, result = create_request(self.t,self.users[2].id)
|
||||
self.assertTrue(id != 0)
|
||||
|
||||
login = self.c.login(username=self.u.username, password = self.password)
|
||||
self.assertTrue(login)
|
||||
|
||||
url = '/rowers/me/invitation/{id}/reject/'.format(id=id)
|
||||
response = self.c.get(url,follow=True)
|
||||
self.assertEqual(response.status_code,200)
|
||||
self.assertRedirects(response,
|
||||
expected_url='/rowers/me/teams/',
|
||||
status_code=302,target_status_code=200)
|
||||
|
||||
|
||||
def test_team_invite_view(self):
|
||||
login = self.c.login(username=self.u.username, password = self.password)
|
||||
self.assertTrue(login)
|
||||
@@ -135,6 +264,9 @@ class TeamCreateTest(TestCase):
|
||||
test = Team.objects.filter(id=tid)
|
||||
self.assertEqual(len(test),0)
|
||||
|
||||
def test_lowlevel_create_request(self):
|
||||
id,comment = create_request(self.t,self.users[1].id)
|
||||
self.assertEqual(id,1)
|
||||
|
||||
def test_lowlevel_remove_member(self):
|
||||
id, comment = add_member(self.t.id, self.users[3].rower)
|
||||
|
||||
BIN
rowers/tests/testdata/testdata.csv.gz
vendored
BIN
rowers/tests/testdata/testdata.csv.gz
vendored
Binary file not shown.
2
rowers/tests/testdata/testdata.tcx
vendored
2
rowers/tests/testdata/testdata.tcx
vendored
@@ -2502,7 +2502,7 @@
|
||||
</Trackpoint>
|
||||
</Track>
|
||||
</Lap>
|
||||
<Notes><Element 'Notes' at 0x138f7dd8></Notes>
|
||||
<Notes><Element 'Notes' at 0x19d5f2b0></Notes>
|
||||
</Activity>
|
||||
</Activities>
|
||||
<Creator>
|
||||
|
||||
@@ -397,8 +397,8 @@ urlpatterns = [
|
||||
url(r'^me/invitation/$',views.rower_invitations_view),
|
||||
url(r'^me/raise500/$',views.raise_500),
|
||||
url(r'^me/invitation/(\w+.*)/$',views.rower_invitations_view),
|
||||
url(r'^me/request/(?P<id>\d+)/revoke',views.request_revoke_view),
|
||||
url(r'^me/request/(?P<id>\d+)/reject',views.request_reject_view),
|
||||
url(r'^me/request/(?P<id>\d+)/revoke/$',views.request_revoke_view),
|
||||
url(r'^me/request/(?P<id>\d+)/reject/$',views.request_reject_view),
|
||||
url(r'^me/request/(\w+.*)/$',views.manager_requests_view),
|
||||
url(r'^me/request/$',views.manager_requests_view),
|
||||
url(r'^me/edit/$',views.rower_edit_view),
|
||||
|
||||
Reference in New Issue
Block a user