Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

PR: tests/unit/test_repo - Clean up, parametrize, and increase test coverage. #1771

Merged
merged 7 commits into from
Aug 17, 2023

Conversation

bigtedde
Copy link
Collaborator

@bigtedde bigtedde commented Aug 9, 2023

Description

The repo unit test module has some areas of opportunity for clean up, test parameterization, and additional test coverage.

I have cleaned up the tests by separating test_repo_add_failures into test_new_repo_password_validation and test_repo_add_failures as these seems to be more clear indications of what was being tested. Additionally, I parametrized the password validation tests to reduce code duplication.

I added a new test for repo name behavior and parametrized it to test a few inputs. When adding this test, I noticed a typo in the validate() function of RepoWindow class that I fixed.

Related Issue

#1754

Motivation and Context

One of my Google Summer of Code projects involves cleaning up the Vorta tests, reducing duplicated code, and increasing code coverage.

How Has This Been Tested?

Tests work locally by running pytest, and they pass the GitHub CI checks.

Types of changes

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to change)

Checklist:

  • I have read the CONTRIBUTING guide.
  • My code follows the code style of this project.
  • My change requires a change to the documentation.
  • I have updated the documentation accordingly.
  • I have added tests to cover my changes.
  • All new and existing tests passed.

I provide my contribution under the terms of the license of this repository and I affirm the Developer Certificate of Origin.

@@ -69,8 +73,9 @@ def test_repo_unlink(qapp, qtbot, monkeypatch):

def test_password_autofill(qapp, qtbot):
main = qapp.main_window
main.repoTab.new_repo() # couldn't click menu
add_repo_window = main.repoTab._window
tab = main.repoTab
Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

For consistency across the tests, I defined main and tab in each test that used them.

@@ -138,7 +138,7 @@ def validate(self) -> bool:
self.passwordLineEdit.error_state = True
self.confirmLineEdit.error_state = True
self.set_error_label(
translate('PasswordInput', "Passwords must be identical and atleast {0} characters long.").format(
translate('PasswordInput', "Passwords must be identical and at least {0} characters long.").format(
Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Typo corrected: 'atleast' -> 'at least'

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks!

@@ -107,7 +107,7 @@ def validate(self):
return False

if len(self.values['repo_name']) > 64:
self._set_status(self.tr('Repository name must be less than 64 characters.'))
self._set_status(self.tr('Repository name must be less than 65 characters.'))
Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Corrected wording, should say "less than 65 characters" or "no more than 64 characters". I chose the path of least change.

@bigtedde bigtedde marked this pull request as ready for review August 10, 2023 19:01
@m3nu m3nu merged commit 81920ea into borgbase:master Aug 17, 2023
@bigtedde bigtedde deleted the repo_tests branch August 17, 2023 17:14
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants