Commit 8cd1fb63 by Waheed Ahmed

Update "In progress" tab on Dashboard to include draft courses.

ECOM-6830
parent 6b7597b9
...@@ -1287,7 +1287,7 @@ class DashboardTests(TestCase): ...@@ -1287,7 +1287,7 @@ class DashboardTests(TestCase):
""" Verify that internal user can see courses assigned to the groups. """ """ Verify that internal user can see courses assigned to the groups. """
self.client.logout() self.client.logout()
self.client.login(username=self.user1.username, password=USER_PASSWORD) self.client.login(username=self.user1.username, password=USER_PASSWORD)
response = self.assert_dashboard_response(studio_count=2, published_count=1, progress_count=1, preview_count=1) response = self.assert_dashboard_response(studio_count=2, published_count=1, progress_count=3, preview_count=1)
self.assertContains(response, '<li role="tab" id="tab-{tab}" class="tab"'.format(tab=tab)) self.assertContains(response, '<li role="tab" id="tab-{tab}" class="tab"'.format(tab=tab))
def test_with_permissions(self): def test_with_permissions(self):
...@@ -1322,12 +1322,12 @@ class DashboardTests(TestCase): ...@@ -1322,12 +1322,12 @@ class DashboardTests(TestCase):
OrganizationExtension.VIEW_COURSE, self.organization_extension.group, self.organization_extension OrganizationExtension.VIEW_COURSE, self.organization_extension.group, self.organization_extension
) )
response = self.assert_dashboard_response(studio_count=0, published_count=0, progress_count=1, preview_count=1) response = self.assert_dashboard_response(studio_count=0, published_count=0, progress_count=2, preview_count=1)
self._assert_tabs_without_roles(response) self._assert_tabs_without_roles(response)
def test_studio_request_course_runs_as_pc(self): def test_studio_request_course_runs_as_pc(self):
""" Verify that PC user can see only those courses on which he is assigned as PC role. """ """ Verify that PC user can see only those courses on which he is assigned as PC role. """
response = self.assert_dashboard_response(studio_count=2, published_count=1, progress_count=1, preview_count=1) response = self.assert_dashboard_response(studio_count=2, published_count=1, progress_count=3, preview_count=1)
self._assert_tabs_with_roles(response) self._assert_tabs_with_roles(response)
def test_studio_request_course_runs_without_pc_group(self): def test_studio_request_course_runs_without_pc_group(self):
...@@ -1335,7 +1335,7 @@ class DashboardTests(TestCase): ...@@ -1335,7 +1335,7 @@ class DashboardTests(TestCase):
self.client.logout() self.client.logout()
self.user1.groups.remove(self.group_partner_coordinator) self.user1.groups.remove(self.group_partner_coordinator)
self.client.login(username=self.user1.username, password=USER_PASSWORD) self.client.login(username=self.user1.username, password=USER_PASSWORD)
response = self.assert_dashboard_response(studio_count=0, published_count=1, progress_count=1, preview_count=1) response = self.assert_dashboard_response(studio_count=0, published_count=1, progress_count=3, preview_count=1)
self._assert_tabs_with_roles(response) self._assert_tabs_with_roles(response)
def test_without_studio_request_course_runs(self): def test_without_studio_request_course_runs(self):
...@@ -1344,20 +1344,20 @@ class DashboardTests(TestCase): ...@@ -1344,20 +1344,20 @@ class DashboardTests(TestCase):
self.course_run_1.save() self.course_run_1.save()
self.course_run_2.lms_course_id = 'test-2' self.course_run_2.lms_course_id = 'test-2'
self.course_run_2.save() self.course_run_2.save()
response = self.assert_dashboard_response(studio_count=0, published_count=1, progress_count=1, preview_count=1) response = self.assert_dashboard_response(studio_count=0, published_count=1, progress_count=3, preview_count=1)
self.assertContains(response, 'There are no course-runs require studio instance.') self.assertContains(response, 'There are no course-runs require studio instance.')
def test_without_published_course_runs(self): def test_without_published_course_runs(self):
""" Verify that published tab indicates a message if no course-run available. """ """ Verify that published tab indicates a message if no course-run available. """
self.course_run_3.change_state(target=State.DRAFT) self.course_run_3.change_state(target=State.DRAFT)
self.course_run_3.save() self.course_run_3.save()
response = self.assert_dashboard_response(studio_count=3, published_count=0, progress_count=1, preview_count=1) response = self.assert_dashboard_response(studio_count=3, published_count=0, progress_count=4, preview_count=1)
self.assertContains(response, "Looks like you haven't published any course yet") self.assertContains(response, "Looks like you haven't published any course yet")
self._assert_tabs_with_roles(response) self._assert_tabs_with_roles(response)
def test_published_course_runs(self): def test_published_course_runs(self):
""" Verify that published tab loads course runs list. """ """ Verify that published tab loads course runs list. """
response = self.assert_dashboard_response(studio_count=2, published_count=1, progress_count=1, preview_count=1) response = self.assert_dashboard_response(studio_count=2, published_count=1, progress_count=3, preview_count=1)
self.assertContains(response, self.table_class.format(id='published')) self.assertContains(response, self.table_class.format(id='published'))
self.assertContains(response, 'The list below contains all course runs published in the past 30 days') self.assertContains(response, 'The list below contains all course runs published in the past 30 days')
self._assert_tabs_with_roles(response) self._assert_tabs_with_roles(response)
...@@ -1393,12 +1393,12 @@ class DashboardTests(TestCase): ...@@ -1393,12 +1393,12 @@ class DashboardTests(TestCase):
publisher_admin = UserFactory() publisher_admin = UserFactory()
publisher_admin.groups.add(self.publisher_admin_group) publisher_admin.groups.add(self.publisher_admin_group)
self.client.login(username=publisher_admin.username, password=USER_PASSWORD) self.client.login(username=publisher_admin.username, password=USER_PASSWORD)
response = self.assert_dashboard_response(studio_count=4, published_count=1, progress_count=1, preview_count=1) response = self.assert_dashboard_response(studio_count=4, published_count=1, progress_count=4, preview_count=1)
self._assert_tabs_with_roles(response) self._assert_tabs_with_roles(response)
def test_with_preview_ready_course_runs(self): def test_with_preview_ready_course_runs(self):
""" Verify that preview ready tabs loads the course runs list. """ """ Verify that preview ready tabs loads the course runs list. """
response = self.assert_dashboard_response(studio_count=2, preview_count=1, progress_count=1, published_count=1) response = self.assert_dashboard_response(studio_count=2, preview_count=1, progress_count=3, published_count=1)
self.assertContains(response, self.table_class.format(id='preview')) self.assertContains(response, self.table_class.format(id='preview'))
self.assertContains(response, 'The list below contains all course runs awaiting course team approval') self.assertContains(response, 'The list below contains all course runs awaiting course team approval')
self._assert_tabs_with_roles(response) self._assert_tabs_with_roles(response)
...@@ -1407,7 +1407,7 @@ class DashboardTests(TestCase): ...@@ -1407,7 +1407,7 @@ class DashboardTests(TestCase):
""" Verify preview ready tabs shows a message if no course run available. """ """ Verify preview ready tabs shows a message if no course run available. """
self.course_run_2.preview_url = None self.course_run_2.preview_url = None
self.course_run_2.save() self.course_run_2.save()
response = self.assert_dashboard_response(studio_count=2, preview_count=0, progress_count=1, published_count=1) response = self.assert_dashboard_response(studio_count=2, preview_count=0, progress_count=3, published_count=1)
self.assertContains(response, 'There are no course runs marked for preview.') self.assertContains(response, 'There are no course runs marked for preview.')
self._assert_tabs_with_roles(response) self._assert_tabs_with_roles(response)
...@@ -1415,13 +1415,13 @@ class DashboardTests(TestCase): ...@@ -1415,13 +1415,13 @@ class DashboardTests(TestCase):
""" Verify preview ready tabs shows a message if no course run available. """ """ Verify preview ready tabs shows a message if no course run available. """
self.course_run_2.preview_url = None self.course_run_2.preview_url = None
self.course_run_2.save() self.course_run_2.save()
response = self.assert_dashboard_response(studio_count=2, preview_count=0, progress_count=1, published_count=1) response = self.assert_dashboard_response(studio_count=2, preview_count=0, progress_count=3, published_count=1)
self.assertContains(response, 'There are no course runs marked for preview.') self.assertContains(response, 'There are no course runs marked for preview.')
self._assert_tabs_with_roles(response) self._assert_tabs_with_roles(response)
def test_with_in_progress_course_runs(self): def test_with_in_progress_course_runs(self):
""" Verify that in progress tabs loads the course runs list. """ """ Verify that in progress tabs loads the course runs list. """
response = self.assert_dashboard_response(studio_count=2, preview_count=1, progress_count=1, published_count=1) response = self.assert_dashboard_response(studio_count=2, preview_count=1, progress_count=3, published_count=1)
self.assertContains(response, self.table_class.format(id='in-progress')) self.assertContains(response, self.table_class.format(id='in-progress'))
self._assert_tabs_with_roles(response) self._assert_tabs_with_roles(response)
......
...@@ -97,10 +97,11 @@ class Dashboard(mixins.LoginRequiredMixin, ListView): ...@@ -97,10 +97,11 @@ class Dashboard(mixins.LoginRequiredMixin, ListView):
context['default_published_days'] = self.default_published_days context['default_published_days'] = self.default_published_days
in_progress_course_runs = course_runs.filter( in_progress_course_runs = course_runs.filter(
state__name=State.NEEDS_FINAL_APPROVAL state__name__in=[State.NEEDS_FINAL_APPROVAL, State.DRAFT]
).select_related('state').order_by('-state__modified') ).select_related('state').order_by('-state__modified')
preview_course_runs = in_progress_course_runs.filter( preview_course_runs = in_progress_course_runs.filter(
state__name=State.NEEDS_FINAL_APPROVAL,
preview_url__isnull=False preview_url__isnull=False
).order_by('-state__modified') ).order_by('-state__modified')
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment