import unittest from app import create_app, db from app.models.user import User class TestViewSwitcher(unittest.TestCase): def setUp(self): self.app = create_app() self.app.config['TESTING'] = True self.app.config['WTF_CSRF_ENABLED'] = False self.client = self.app.test_client() self.app_context = self.app.app_context() self.app_context.push() # Login con usuario admin para acceder a las vistas protegidas self.user = User.query.filter_by(is_active=True).first() if self.user: with self.client.session_transaction() as sess: sess['_user_id'] = str(self.user.id) sess['_fresh'] = True def tearDown(self): self.app_context.pop() def test_classrooms_view_switcher_rendered(self): res = self.client.get('/classrooms/?view_mode=physical') self.assertEqual(res.status_code, 200) html = res.get_data(as_text=True) # Verificar que el selector de vista está presente self.assertIn('view-switcher-group', html) self.assertIn('data-context="classrooms"', html) self.assertIn('data-view-container="cards"', html) self.assertIn('data-view-container="table"', html) def test_reservations_view_switcher_rendered(self): res = self.client.get('/schedule/list') self.assertEqual(res.status_code, 200) html = res.get_data(as_text=True) # Verificar que el selector de vista está presente self.assertIn('view-switcher-group', html) self.assertIn('data-context="reservations"', html) self.assertIn('data-view-container="table"', html) self.assertIn('data-view-container="cards"', html) if __name__ == '__main__': unittest.main()