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

[FDS-2238, FDS-2236] Automate CLI test plan #1528

Merged
merged 25 commits into from
Nov 14, 2024

Conversation

andrewelamb
Copy link
Contributor

@andrewelamb andrewelamb commented Oct 30, 2024

@andrewelamb andrewelamb changed the title Fds 2238 automate cli tests Automate CLI test plan Oct 30, 2024
"""Tests the schematic/manifest/commands validate manifest command"""

def test_generate_empty_csv_manifest(self, runner: CliRunner) -> None:
"""Generate two empty csv manifests"""
Copy link
Member

Choose a reason for hiding this comment

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

I'll leave it to @BryanFauble for final review, but did we want to follow similar paradigm as the API testing documentation to list exactly what is being tested?

also are there any manual things that need to be checked in the manifests here?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Yep it was a lot fo C+P and the modifying for the CLI tests hwere needed. If there's anythign I missed that I should include please let me know :)

Copy link
Member

Choose a reason for hiding this comment

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

C+P? I'll leave it to your responsibility to ensure that you've captured everything that the manual test plan outlined.

As for the documentation, I'd be great if there was heavier documentation in the doc strings like:

        Download a manifest from the Schematic API and verify that it is a valid Excel
        file. We are validating the following:
        - The first row of the Excel file contains the column headers
        - The first row is locked on scroll
        - Each cell in the first row has a comment/tooltip "TBD"
        - The "Family History" cell has a comment/tooltip with the expected message
        - The cell corresponding to "Sex" in Sheet1 has a dropdown list with values from Sheet2!B2:B4
        - The cell corresponding to "Diagnosis" in Sheet1 has a dropdown list with values from Sheet2!D2:D3
        - The cell corresponding to "Cancer Type" in Sheet1 has a dropdown list with values from Sheet2!F2:F6
        - The workbook contains two sheets: "Sheet1" and "Sheet2"
        - "Sheet2" is hidden
        - The values in "Sheet2" are as expected
        - The fill colors of the first row cells are as expected
        - Conditional formatting is functioning as expected
       
        Manual verification steps:
        - Open the Excel file prefixed with TestManifestGeneration_test_single_manifest_generation_excel.xlsx
        - When Diagnosis = "Cancer", [Cancer Type, Family History] is Light Blue (Required)

If there are manul verification steps required for the manifest itself it should follow the same paradigm that Bryan set up

Copy link
Collaborator

Choose a reason for hiding this comment

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

+1 My hope is that the docstrings are the single source of great documentation that we can add to the pdocs site.

@thomasyu888 thomasyu888 changed the title Automate CLI test plan [FDS-2238, FDS-2236] Automate CLI test plan Oct 30, 2024
@andrewelamb andrewelamb marked this pull request as draft October 31, 2024 03:15
@andrewelamb
Copy link
Contributor Author

Converting this to draft, going to work on some more.

@andrewelamb
Copy link
Contributor Author

The test for the submit command still needs to be done, after it has been fixed, so this is still a draft for now. I can start gettign feedback on the other parts though.

@andrewelamb andrewelamb marked this pull request as ready for review November 8, 2024 17:30
@andrewelamb andrewelamb requested a review from a team as a code owner November 8, 2024 17:30
Copy link
Member

@thomasyu888 thomasyu888 left a comment

Choose a reason for hiding this comment

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

I took a look at the test failures and there's something that changed that's also causing the synapse storage tests to fail...

FAILED tests/test_store.py::TestSynapseStorage::test_init - AssertionError: assert 'syn28559058' == 'syn23643253'

Related to the other testing problem:
hmm, would it matter if we ran tests/integration/test_manifest_generation.py outside of all the other tests? (it's not ideal, but maybe the ordering of this DOES matter)?

Copy link
Member

@thomasyu888 thomasyu888 left a comment

Choose a reason for hiding this comment

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

🔥 Thanks for adding these tests! I'll leave it to someone on the team for final review

Copy link
Collaborator

@BryanFauble BryanFauble left a comment

Choose a reason for hiding this comment

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

Take a look at comments and re-request review with changes

Copy link
Member

@thomasyu888 thomasyu888 left a comment

Choose a reason for hiding this comment

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

🔥 Thanks for all the work here! I'll leave it to Bryan for final review! I glanced and saw that you made the changes that he requested, but I didn't look super close

Copy link
Collaborator

@BryanFauble BryanFauble left a comment

Choose a reason for hiding this comment

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

Thanks Andrew!

Copy link

sonarcloud bot commented Nov 14, 2024

@thomasyu888 thomasyu888 merged commit 1e5da3c into develop Nov 14, 2024
7 checks passed
@thomasyu888 thomasyu888 deleted the FDS-2238-automate-cli-tests branch November 14, 2024 09:01
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