# Copyright (C) 2010-2023 RhodeCode GmbH # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License, version 3 # (only), as published by the Free Software Foundation. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU Affero General Public License # along with this program. If not, see . # # This program is dual-licensed. If you wish to learn more about the # RhodeCode Enterprise Edition, including its added features, Support services, # and proprietary license terms, please see https://rhodecode.com/licenses/ from rhodecode.model.db import User, Repository, UserFollowing from rhodecode.tests import TestController, TEST_USER_ADMIN_LOGIN from rhodecode.tests.fixture import Fixture from rhodecode.tests.routes import route_path fixture = Fixture() class TestMyAccountSimpleViews(TestController): def test_my_account_my_repos(self, autologin_user): response = self.app.get(route_path('my_account_repos')) repos = Repository.query().filter( Repository.user == User.get_by_username( TEST_USER_ADMIN_LOGIN)).all() for repo in repos: response.mustcontain(f'"name_raw":"{repo.repo_name}"') def test_my_account_my_watched(self, autologin_user): response = self.app.get(route_path('my_account_watched')) repos = UserFollowing.query().filter( UserFollowing.user == User.get_by_username( TEST_USER_ADMIN_LOGIN)).all() for repo in repos: response.mustcontain(f'"name_raw":"{repo.follows_repository.repo_name}"') def test_my_account_perms(self, autologin_user): response = self.app.get(route_path('my_account_perms')) assert_response = response.assert_response() assert assert_response.get_elements('.perm_tag.none') assert assert_response.get_elements('.perm_tag.read') assert assert_response.get_elements('.perm_tag.write') assert assert_response.get_elements('.perm_tag.admin') def test_my_account_notifications(self, autologin_user): response = self.app.get(route_path('my_account_notifications')) response.mustcontain('Test flash message')