Create 'submit for review' tests.
This commit is contained in:
		
							parent
							
								
									901102a304
								
							
						
					
					
						commit
						a05a952960
					
				
					 1 changed files with 59 additions and 0 deletions
				
			
		|  | @ -9,10 +9,16 @@ from backend.views import * | |||
| class ReportTests(TestCase): | ||||
| 
 | ||||
|     def create_test_user(self, email, first, last, password): | ||||
|         """ | ||||
|         Create a test user and return it. | ||||
|         """ | ||||
|         user = CustomUser.objects.create_user(username=email, email=email, first_name=first, last_name=last, password=password) | ||||
|         return user | ||||
| 
 | ||||
|     def mock_report(): | ||||
|         """ | ||||
|         Generates a mock object with the attributes of a report. | ||||
|         """ | ||||
|         r = Mock() | ||||
|         r.report_pk = 1 | ||||
|         r.title = 'Report Title' | ||||
|  | @ -23,10 +29,16 @@ class ReportTests(TestCase): | |||
|         return r | ||||
| 
 | ||||
|     def setUp(self): | ||||
|         """ | ||||
|         Create a test user and save it in the database. | ||||
|         """ | ||||
|         self.test_user_1 = self.create_test_user('one@one.com', 'One', 'Mr. One', '1password') | ||||
|         self.test_user_1.save() | ||||
|   | ||||
|     def test_create_report_logged_in(self): | ||||
|         """ | ||||
|         Test when an authenticated user tries to submit a report. | ||||
|         """ | ||||
|         factory = APIRequestFactory() | ||||
|         request = factory.post('/api/v1/report', {'title':'Test Report', 'reference':'12345'}) | ||||
|         user = CustomUser.objects.get(email='one@one.com') | ||||
|  | @ -37,6 +49,9 @@ class ReportTests(TestCase): | |||
|         self.assertEqual(report.title, 'Test Report') | ||||
| 
 | ||||
|     def test_create_report_logged_out(self): | ||||
|         """ | ||||
|         Test when an unauthenticated user tries to create a report. | ||||
|         """ | ||||
|         factory = APIRequestFactory() | ||||
|         request = factory.post('/api/v1/report', {'title':'Test Report', 'reference':'12345'}) | ||||
|         response = create_report(request) | ||||
|  | @ -57,3 +72,47 @@ class ReportTests(TestCase): | |||
|                 'submitted':False | ||||
|             } | ||||
|         ) | ||||
| 
 | ||||
|     def test_report_submit_for_review_logged_out(self): | ||||
|         """ | ||||
|         Test for when an unauthenticated user tries to submit a report for review. | ||||
|         """ | ||||
|         factory = APIRequestFactory() | ||||
|         request = factory.put('/api/v1/report/1') | ||||
|         response = create_report(request) | ||||
|         self.assertEqual(response.status_code, 401) | ||||
| 
 | ||||
|     def test_report_submit_for_review_logged_in_not_finalized(self): | ||||
|         """ | ||||
|         Test for when an authenticated user tries to submit for review a report | ||||
|         that has not been finalized yet. | ||||
|         """ | ||||
|         factory = APIRequestFactory() | ||||
|         add_report_request = factory.post('/api/v1/report', {'title':'Test Report', 'reference':'12345'}) | ||||
|         user = CustomUser.objects.get(email='one@one.com') | ||||
|         force_authenticate(add_report_request, user=user) | ||||
|         create_report(add_report_request) | ||||
|         review_request = factory.put('/api/v1/report/1') | ||||
|         force_authenticate(review_request, user=user) | ||||
|         response = report_detail(review_request, 1) | ||||
|         self.assertEqual(response.status_code, 200) | ||||
|         report = Report.objects.get(user_id=user) | ||||
|         self.assertFalse(report.submitted) | ||||
| 
 | ||||
|     def test_report_submit_for_review_logged_in_already_finalized(self): | ||||
|         """ | ||||
|         Test for when an authenticated user tries to submit for review a report | ||||
|         that has already been finalized. | ||||
|         """ | ||||
|         factory = APIRequestFactory() | ||||
|         add_report_request = factory.post('/api/v1/report', {'title':'Test Report', 'reference':'12345'}) | ||||
|         user = CustomUser.objects.get(email='one@one.com') | ||||
|         force_authenticate(add_report_request, user=user) | ||||
|         create_report(add_report_request) | ||||
|         report = Report.objects.get(user_id=user) | ||||
|         report.submitted = True | ||||
|         report.save() | ||||
|         review_request = factory.put('/api/v1/report/1') | ||||
|         force_authenticate(review_request, user=user) | ||||
|         response = report_detail(review_request, 1) | ||||
|         self.assertEqual(response.status_code, 409) | ||||
|  |  | |||
		Loading…
	
	Add table
		
		Reference in a new issue
	
	 kououken
						kououken