Ver código fonte

tests: test userdash with a member of a non-user type group

Julen Landa Alustiza 4 anos atrás
pai
commit
6af1241a63
1 arquivos alterados com 47 adições e 0 exclusões
  1. 47 0
      tests/test_pagure_flask_ui_app_userdash.py

+ 47 - 0
tests/test_pagure_flask_ui_app_userdash.py

@@ -376,6 +376,53 @@ class PagureFlaskAppUserdashTests(tests.Modeltests):
             )
             self.assertEqual(output_text.count('title="Private project"'), 1)
 
+    def test_index_logged_in_non_user_group(self):
+        """
+        Test the index endpoint when logged in with a member of non-user type
+        group.
+        """
+        tests.create_projects(self.session)
+
+        # Add a 3rd project just for foo
+        item = pagure.lib.model.Project(
+            user_id=2,  # foo
+            name="test3",
+            description="test project #3 with a very long description",
+            hook_token="aaabbbeeefff",
+        )
+        self.session.add(item)
+        self.session.commit()
+
+        # Add admin group
+        item = pagure.lib.model.PagureGroup(
+            group_name="admin",
+            group_type="admin",
+            user_id=1,  # pingou
+            display_name="admin",
+            description="Admin Group",
+        )
+        self.session.add(item)
+        self.session.commit()
+
+        # Add foo to admin group
+        item = pagure.lib.model.PagureUserGroup(
+            user_id=2, group_id=1  # foo  # admin group
+        )
+        self.session.add(item)
+        self.session.commit()
+
+        user = tests.FakeUser(username="foo")
+        with tests.user_set(self.app.application, user):
+            output = self.app.get("/dashboard/projects")
+            self.assertEqual(output.status_code, 200)
+            output_text = output.get_data(as_text=True)
+            self.assertIn(
+                '<h4 class="font-weight-bold mb-0">My Projects</h4>\n'
+                '          <span class="btn btn-outline-secondary disabled'
+                ' opacity-100 border-0 ml-auto font-weight-bold">1 Projects</span>\n',
+                output_text,
+            )
+
 
 if __name__ == "__main__":
     unittest.main(verbosity=2)