from django.test import TestCase
from django.urls import reverse
from django.contrib.auth import get_user_model
from .models import StaffProfile, Role
from client_portal.models import ClientProfile


class RBACRouteTests(TestCase):
    def setUp(self):
        User = get_user_model()
        self.user = User.objects.create_user(username='emp1', password='pass12345', email='emp@example.com')
        self.role = Role.objects.create(name='Employee')
        StaffProfile.objects.create(user=self.user, role=self.role, role_type='employee')
        self.client.login(username='emp1', password='pass12345')

    def test_employee_can_access_task_dashboard(self):
        resp = self.client.get(reverse('task_management:dashboard'))
        self.assertEqual(resp.status_code, 200)

