From aa151bacf8e4f74b5bab4547df6237242b097153 Mon Sep 17 00:00:00 2001 From: Bryce Willey Date: Thu, 2 Jul 2026 13:35:20 -0400 Subject: [PATCH] Add ALKiln tests Just basic ones, no e-filing yet --- .github/workflows/run_kiln_tests.yml | 41 ++++++++++ .gitignore | 10 +++ .../data/sources/small_claims.feature | 81 +++++++++++++++++++ pyproject.toml | 1 + 4 files changed, 133 insertions(+) create mode 100644 .github/workflows/run_kiln_tests.yml create mode 100644 docassemble/MATCSmallClaims/data/sources/small_claims.feature diff --git a/.github/workflows/run_kiln_tests.yml b/.github/workflows/run_kiln_tests.yml new file mode 100644 index 0000000..b5d558d --- /dev/null +++ b/.github/workflows/run_kiln_tests.yml @@ -0,0 +1,41 @@ +name: ALKiln v5 tests + +on: + push: + workflow_dispatch: + inputs: + tags: + description: 'Optional. Use a "tag expression" specify which tagged tests to run. See https://cucumber.io/docs/cucumber/api/#tag-expressions for syntax.' + default: '' + required: False + show_docker_output: + required: false + default: false + type: boolean + description: 'Show the docker logs while building the GitHub server container. It will also save the docker log artifact. This might show sensitive config information.' + # To run your tests on a schedule, delete the first "#" symbol at the beginning of each line below. + ## Also see https://docs.github.com/en/actions/using-workflows/events-that-trigger-workflows#schedule + ## Also see https://crontab.guru/examples.html + #schedule: + # - cron: '0 1 * * TUE' + +jobs: + interview-testing: + runs-on: ubuntu-latest + name: Run integration tests + steps: + - uses: actions/checkout@v6 + - name: "ALKiln - Start the isolated temporary docassemble server on GitHub" + id: github_server + uses: suffolkLITLab/ALKiln/action_for_github_server@v5 + with: + SHOW_DOCKER_OUTPUT: "${{ github.event.inputs.show_docker_output }}" + DOCASSEMBLE_IMAGE: "ghcr.io/suffolklitlab/docassemble:latest" + - run: echo "ALKiln finished starting the isolated GitHub docassemble server" + shell: bash + - name: Use ALKiln to run tests + uses: SuffolkLITLab/ALKiln@v5 + with: + SERVER_URL: "${{ steps.github_server.outputs.SERVER_URL }}" + DOCASSEMBLE_DEVELOPER_API_KEY: "${{ steps.github_server.outputs.DOCASSEMBLE_DEVELOPER_API_KEY }}" + - run: echo "Finished running ALKiln tests" diff --git a/.gitignore b/.gitignore index 8e66945..1963623 100644 --- a/.gitignore +++ b/.gitignore @@ -39,3 +39,13 @@ sdist/ var/ wheels/ share/python-wheels/ + + +## Local ALKiln stuff +alkiln-* +.env +.envrc +cucumber-report* +debug_log* +runtime_config.json + diff --git a/docassemble/MATCSmallClaims/data/sources/small_claims.feature b/docassemble/MATCSmallClaims/data/sources/small_claims.feature new file mode 100644 index 0000000..4d95adf --- /dev/null +++ b/docassemble/MATCSmallClaims/data/sources/small_claims.feature @@ -0,0 +1,81 @@ +@small_claims +Feature: MATC Small Claims + +@sc0 @fast +Scenario: small claims starts + Given I start the interview at "small_claims.yml" + And the maximum seconds for each Step in this Scenario is 30 + And I set the variable "acknowledged_information_use to "True" + And I tap to continue + +@sc1 @full @slow +Scenario: No e-filing, no aff + Given I start the interview at "small_claims.yml" + And the maximum seconds for each Step in this Scenario is 30 + And I get to the question id "download_small_claims_no_efile" with this data: + | var | value | + | acknowledged_information_use | True | + | claim_amount | 500 | + | wants_fee_waiver | False | + | al_person_answering | user | + | user_wants_efile | False | + | users[0].name.first | Jill | + | users[0].name.last | Representert | + | users[0].name.email | example@example.com | + | users[0].address.address | 123 Fake St | + | users[0].address.city | Boston | + | users[0].address.state | MA | + | users[0].address.zip | 02122 | + | users[0].phone_number | 123-456-7890 | + | users.there_is_another | False | + | other_parties[0].person_type | business | + | other_parties[0].name.first | Woah Inc. | + | other_parties[0].address.address | 234 Fake St | + | other_parties[0].address.city | Boston | + | other_parties[0].address.state | MA | + | other_parties[0].address.zip | 02122 | + | other_parties[0].email | woahinc@example.com | + | other_parties.there_is_another | False | + | claim_description | Testing some input | + | exhibit_attachment.exhibits.has_exhibits | False | + | plaintiffs1_willing_to_mediate | False | + | trial_court | all_courts[11] | + | users[0].states_above_true['states_true'] | True | + | users[0].signature | | + +@sc2 @full @slow +Scenario: No e-filing, aff + Given I start the interview at "small_claims.yml" + And the maximum seconds for each Step in this Scenario is 30 + And I get to the question id "download_small_claims_no_efile" with this data: + | var | value | + | acknowledged_information_use | True | + | claim_amount | 500 | + | wants_fee_waiver | True | + | public_assistance_kinds['TAFDC'] | True | + | al_person_answering | user | + | user_wants_efile | False | + | users[0].name.first | Jill | + | users[0].name.last | Representert | + | users[0].name.email | example@example.com | + | users[0].address.address | 123 Fake St | + | users[0].address.city | Boston | + | users[0].address.state | MA | + | users[0].address.zip | 02122 | + | users[0].phone_number | 123-456-7890 | + | users.there_is_another | False | + | other_parties[0].person_type | business | + | other_parties[0].name.first | Woah Inc. | + | other_parties[0].address.address | 234 Fake St | + | other_parties[0].address.city | Boston | + | other_parties[0].address.state | MA | + | other_parties[0].address.zip | 02122 | + | other_parties[0].email | woahinc@example.com | + | other_parties.there_is_another | False | + | claim_description | Testing some input | + | exhibit_attachment.exhibits.has_exhibits | False | + | plaintiffs1_willing_to_mediate | False | + | trial_court | all_courts[11] | + | users[0].states_above_true['states_true'] | True | + | users[0].signature | | + diff --git a/pyproject.toml b/pyproject.toml index 8969ea0..13690ea 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -15,6 +15,7 @@ authors = [ dependencies = [ "docassemble.AssemblyLine", "docassemble.MassAccess", + "docassemble.EFSPIntegration", "docassemble.MATCTheme", "docassemble.ALAffidavitOfIndigency", "docassemble.MATCMilitaryAffidavit @ git+https://github.com/SuffolkLITLab/docassemble-MATCMilitaryAffidavit.git@main"