JSPM

@sprucelabs/jest-sheets-reporter

3.0.213
  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 730
  • Score
    100M100P100Q119418F

Have your Jest tests update a Google Spreadsheet™®©. 📡

Package Exports

    This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (@sprucelabs/jest-sheets-reporter) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

    Readme

    Google Sheets Reporter

    Update a Google Sheet when your tests pass or fail.

    Installing

    yarn add -D @sprucelabs/jest-sheets-reporter
    npm install --dev @sprucelabs/jest-sheets-reporter

    Example Jest config

    Inside your package.json there is a jest block.

    Add the following configuration:

    "jest": {
        "reporters": [
            "default",
            [
                "@sprucelabs/jest-sheets-reporter",
                {
                    "sheetId": "{{spreadsheetId}}",
                    "worksheetId": 0,
                    "testMap": {
                        "testName": "destinationCell",
                        "getsGoodHealthCheckAndNothingElse": "C5",
                        "canGetLatestVersionBasedOnDir": "C16",
                        "canBuildSkill": "C24",
                        "canWatchAndBuild": "C25"
                    }
                }
            ]
        ]
    },

    How does it work

    This simple reporter matches the name of your test against what is in your jest config and updates the cell whose name matches.

    If a test passes, the cell is set to 1.

    If a test fails, the cell is set to 0.

    Making it pretty

    You can change the look of a cell by using conditional formatting:

    Then we set the background and the text color based on the value being exactly 1 or 0.

    Getting your account credentials

    1. Visit the Google Console
    2. Create a new project, call it Test Integrations
    3. After creation, go to the project dashboard and in the left meno go "API's & Services" -> "Enabled API's & Services"
    4. Click "+ Enable API's and Services"
    5. Find sheets and enable it.
    6. After save, click "Create Credentials" in the upper right.
    7. Give it a name, leave everything else blank and save
    8. After save, click "Credentials" in the left menu
    9. Then click on your service account's name
    10. On the service account details page, click "KEYS" tab
    11. Click Add Key -> JSON
    12. Take the download private key and open it
    13. client_email -> GOOGLE_SERVICE_EMAIL
    14. private_key -> GOOGLE_SERVICE_PRIVATE_KEY
    15. Remember to invite the service email to any spreadsheet you want it to update!