def test__shift_code_add__redirect_on_valid_post(calendar_user): """Test for proper redirection on valid post.""" valid_data = { 'code': 'A1', 'monday_start': '01:00:00', 'monday_duration': '1.1', 'tuesday_start': '02:00:00', 'tuesday_duration': '2.2', 'wednesday_start': '03:00:00', 'wednesday_duration': '3.3', 'thursday_start': '04:00:00', 'thursday_duration': '4.4', 'friday_start': '05:00:00', 'friday_duration': '5.5', 'saturday_start': '06:00:00', 'saturday_duration': '6.6', 'sunday_start': '07:00:00', 'sunday_duration': '7.7', 'stat_start': '08:00:00', 'stat_duration': '8.8', } # Add permission to user utils.add_view_permission(calendar_user.sb_user) # Set up client and response client = Client() client.force_login(user=calendar_user.sb_user) response = client.post(reverse('rdrhc_calendar:code_add'), valid_data) assert response.status_code == 302
def test_entry_is_added_on_valid_post(calendar_user): """Tests model entry is properly added on valid post.""" valid_data = { 'code': 'A1', 'monday_start': '01:00:00', 'monday_duration': '1.1', 'tuesday_start': '02:00:00', 'tuesday_duration': '2.2', 'wednesday_start': '03:00:00', 'wednesday_duration': '3.3', 'thursday_start': '04:00:00', 'thursday_duration': '4.4', 'friday_start': '05:00:00', 'friday_duration': '5.5', 'saturday_start': '06:00:00', 'saturday_duration': '6.6', 'sunday_start': '07:00:00', 'sunday_duration': '7.7', 'stat_start': '08:00:00', 'stat_duration': '8.8', } # Get current count of model shift_code_count = models.ShiftCode.objects.count() # Add permission to user utils.add_view_permission(calendar_user.sb_user) # Set up client and response client = Client() client.force_login(user=calendar_user.sb_user) client.post(reverse('rdrhc_calendar:code_add'), valid_data) assert models.ShiftCode.objects.count() == shift_code_count + 1
def test__calendar_code_delete__url_exists_at_desired_location(shift_code): """Test that URL exists at desired location.""" # Add permission to user utils.add_view_permission(shift_code.sb_user) # Set up client and response client = Client() client.force_login(user=shift_code.sb_user) response = client.get(f'/rdrhc-calendar/shifts/delete/{shift_code.id}/') assert response.status_code == 200
def test__calendar_settings__404_response_if_authorized_but_no_calendar(user): """Test 404 response if user doesn't have a calendar.""" # Add permission to user utils.add_view_permission(user) # Set up client and response client = Client() client.force_login(user=user) response = client.get(reverse('rdrhc_calendar:settings')) assert response.status_code == 404
def test__calendar_index__url_exists_at_desired_location(user): """Test for 200 response for the RDRHC Calendar index page.""" # Add permission to user utils.add_view_permission(user) # Set up client and response client = Client() client.force_login(user=user) response = client.get(reverse('rdrhc_calendar:index')) assert response.status_code == 200
def test__calendar_settings__url_exists_at_desired_location(calendar_user): """Test that URL exists at desired location.""" # Add permission to user utils.add_view_permission(calendar_user.sb_user) # Set up client and response client = Client() client.force_login(user=calendar_user.sb_user) response = client.get(reverse('rdrhc_calendar:settings')) assert response.status_code == 200
def test__calendar_settings__200_response_if_authorized(calendar_user): """Test for 200 response if user is authorized with calendar.""" # Add permission to user utils.add_view_permission(calendar_user.sb_user) # Set up client and response client = Client() client.force_login(user=calendar_user.sb_user) response = client.get(reverse('rdrhc_calendar:settings')) # Check that user logged in assert response.context['user'] == calendar_user.sb_user assert response.status_code == 200
def test__shift_code_delete__redirect_on_valid_post(shift_code): """Test for proper redirection on valid post.""" # Add permission to user utils.add_view_permission(shift_code.sb_user) # Set up client and response client = Client() client.force_login(user=shift_code.sb_user) response = client.post( reverse('rdrhc_calendar:code_delete', kwargs={'code_id': shift_code.id})) assert response.status_code == 302
def test__shift_code_list__template(calendar_user): """Test for proper template in shift_code_list views.""" # Add permission to user utils.add_view_permission(calendar_user.sb_user) # Set up client and response client = Client() client.force_login(user=calendar_user.sb_user) response = client.get(reverse('rdrhc_calendar:code_list')) # Test for template assert ('rdrhc_calendar/shiftcode_list.html' in [t.name for t in response.templates])
def test__calendar_index__template(user): """Test for proper template in calendar_index view.""" # Add permission to user utils.add_view_permission(user) # Set up client and response client = Client() client.force_login(user=user) response = client.get(reverse('rdrhc_calendar:index')) # Test for template assert ('rdrhc_calendar/index.html' in [t.name for t in response.templates])
def test__shift_code_list__200_response_if_authorized(calendar_user): """Tests for 200 response when user is logged in with permissions.""" # Add permission to user utils.add_view_permission(calendar_user.sb_user) # Set up client and response client = Client() client.force_login(user=calendar_user.sb_user) response = client.get(reverse('rdrhc_calendar:code_list')) # Check that user logged in assert response.context['user'] == calendar_user.sb_user assert response.status_code == 200
def test__calendar_code_delete__404_response_if_authorized_but_no_calendar( shift_code): """Test 404 response if user doesn't have a calendar.""" # Add permission to user utils.add_view_permission(shift_code.sb_user) # Set up client and response client = Client() client.force_login(user=shift_code.sb_user) client.get( reverse( 'rdrhc_calendar:code_delete', kwargs={'code_id': shift_code.id}, ))
def test__calendar_index__200_response_if_authorized(user): """Tests for 200 response when user is logged in with permissions.""" # Add permission to user utils.add_view_permission(user) # Set up client and response client = Client() client.force_login(user=user) response = client.get(reverse('rdrhc_calendar:index')) # Check that user logged in assert str(response.context['user']) == str(user) # Check for 200 response assert response.status_code == 200
def test__shift_code_delete__instance_deleted_on_valid_post(shift_code): """Tests model entry is properly deleted on valid post.""" # Get current model count shift_code_count = models.ShiftCode.objects.count() # Add permission to user utils.add_view_permission(shift_code.sb_user) # Set up client and response client = Client() client.force_login(user=shift_code.sb_user) client.post( reverse('rdrhc_calendar:code_delete', kwargs={'code_id': shift_code.id})) assert models.ShiftCode.objects.count() == shift_code_count - 1
def test__calendar_code_edit__404_response_if_authorized_but_no_calendar( user, shift_code): """Test 404 response if user doesn't have a calendar.""" # Add permission to user utils.add_view_permission(user) # Set up client and response client = Client() client.force_login(user=user) response = client.get( reverse( 'rdrhc_calendar:code_edit', kwargs={'code_id': shift_code.id}, )) assert response.status_code == 404
def test__shift_code_edit__template(shift_code): """Test for proper template in shift_code_edit views.""" # Add permission to user utils.add_view_permission(shift_code.sb_user) # Set up client and response client = Client() client.force_login(user=shift_code.sb_user) response = client.get( reverse( 'rdrhc_calendar:code_edit', kwargs={'code_id': shift_code.id}, )) # Test for template assert ('rdrhc_calendar/shiftcode_edit.html' in [t.name for t in response.templates])
def test__calendar_settings__redirect_on_valid_post(calendar_user): """Test for proper redirection on valid post.""" # Add permission to user utils.add_view_permission(calendar_user.sb_user) # Create valid data valid_data = { 'calendar_name': 'SecretCalendar', 'full_day': False, 'reminder': '', } # Set up client and response client = Client() client.force_login(user=calendar_user.sb_user) response = client.post(reverse('rdrhc_calendar:settings'), valid_data) # Confirm response status_code assert response.status_code == 302