WIP: gestion des permissions pour l'édition des émissions #130
@ -86,8 +86,8 @@ class Settings(BaseSettings):
 | 
				
			|||||||
            # TODO include content_type in order to avoid clash with potential
 | 
					            # TODO include content_type in order to avoid clash with potential
 | 
				
			||||||
            #      extra applications
 | 
					            #      extra applications
 | 
				
			||||||
            # aircox
 | 
					            # aircox
 | 
				
			||||||
            "change_program",
 | 
					            "view_program",
 | 
				
			||||||
            "change_episode",
 | 
					            "view_episode",
 | 
				
			||||||
            "change_diffusion",
 | 
					            "change_diffusion",
 | 
				
			||||||
            "add_comment",
 | 
					            "add_comment",
 | 
				
			||||||
            "change_comment",
 | 
					            "change_comment",
 | 
				
			||||||
 | 
				
			|||||||
@ -157,3 +157,8 @@ def tracks(episode, sound):
 | 
				
			|||||||
    items += [baker.prepare(models.Track, sound=sound, position=i, timestamp=i * 60) for i in range(0, 3)]
 | 
					    items += [baker.prepare(models.Track, sound=sound, position=i, timestamp=i * 60) for i in range(0, 3)]
 | 
				
			||||||
    models.Track.objects.bulk_create(items)
 | 
					    models.Track.objects.bulk_create(items)
 | 
				
			||||||
    return items
 | 
					    return items
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					@pytest.fixture
 | 
				
			||||||
 | 
					def user():
 | 
				
			||||||
 | 
					    return User.objects.create_user(username="user1", password="bar")
 | 
				
			||||||
 | 
				
			|||||||
							
								
								
									
										14
									
								
								aircox/tests/test_permissions.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										14
									
								
								aircox/tests/test_permissions.py
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,14 @@
 | 
				
			|||||||
 | 
					import pytest
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					@pytest.mark.django_db()
 | 
				
			||||||
 | 
					def test_no_admin(user, client):
 | 
				
			||||||
 | 
					    client.force_login(user)
 | 
				
			||||||
 | 
					    response = client.get("/admin/")
 | 
				
			||||||
 | 
					    assert response.status_code != 200
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					@pytest.mark.django_db()
 | 
				
			||||||
 | 
					def test_user_cannot_change_program_or_episode(user, client, program):
 | 
				
			||||||
 | 
					    assert not user.has_perm("aircox.change_program")
 | 
				
			||||||
 | 
					    assert not user.has_perm("aircox.change_episode")
 | 
				
			||||||
		Reference in New Issue
	
	Block a user