def test_calendar_post_update_method(self):
     rf = RequestFactory()
     post_request = rf.post(path='/calendar/')
     post_request.user = self.user
     post_request.data = 'delete'
     with mock.patch.object(Workout, 'save') as update_mock:
         update_mock.return_value = True
         response = views.calendar(post_request, '2017', '08')
         response.client = Client()
         self.assertRedirects(response,
                              expected_url='/calendar/',
                              target_status_code=302)
 def test_data_entered_trying_to_go_to_dashboard(self):
     rf = RequestFactory()
     get_request = rf.get(path='/dashboard/')
     user = User.objects.create_user(username='******',
                                     password='******')
     user.profile.age = 12
     user.profile.weight = 40
     get_request.user = user
     resolver_match_mock = Mock(url_name='dashboard')
     get_request.resolver_match = resolver_match_mock
     response = wc_views.calendar(get_request, year='2017', month='11')
     response.client = Client()
     self.assertEquals(response.status_code, 200)
 def test_calendar_get_method(self):
     rf = RequestFactory()
     get_request = rf.get(path='/calendar/')
     get_request.user = self.user
     get_request.resolver_match = ResolverMatch(func=None,
                                                args=None,
                                                kwargs=None)
     get_request.resolver_match.url_name = 'calendar'
     with mock.patch.object(
             views, 'get_workouts_for_calendar') as calendar_mocked_method:
         calendar_mocked_method.return_value = []
         response = views.calendar(get_request, '2017', '07')
         self.assertEqual(response.status_code, 200)
 def test_no_data_entered_trying_to_go_to_dashboard(self):
     rf = RequestFactory()
     get_request = rf.get(path='/dashboard/')
     user = User.objects.create_user(username='******',
                                     password='******')
     get_request.user = user
     resolver_match_mock = Mock(url_name='dashboard')
     get_request.resolver_match = resolver_match_mock
     response = wc_views.calendar(get_request)
     response.client = Client()
     self.assertRedirects(response,
                          '/profile/?next=/dashboard/',
                          target_status_code=302)
 def test_calendar_post_delete_method(self):
     rf = RequestFactory()
     post_request = rf.post(path='/calendar/')
     post_request.user = self.user
     post_request.data = 'delete'
     # Mocking delete function
     with mock.patch.object(Workout, 'delete') as delete_mock:
         delete_mock.return_value = True
         response = views.calendar(post_request, '2017', '08')
         response.client = Client()
         # Check if the user has been redirected
         self.assertRedirects(response,
                              expected_url='/calendar/',
                              target_status_code=302)