• 
      

    Unbundle core classes from the tests JavaScript bundle.

    Review Request #13337 — Created Oct. 12, 2023 and submitted

    Information

    Review Board
    release-6.x

    Reviewers

    Many of our new TypeScript-based JavaScript unit tests were doing
    relative imports for the modules they want to test. This caused the
    tests to test against a copy of the core classes normally exported to
    the RB namespace, which meant:

    1. We weren't testing the actual exposed classes, which could cause
      state issues or duplicate initialization.

    2. We were ballooning the size of our tests JavaScript bundle and the
      memory/load time for the page.

    3. We weren't in a position to catch whether we properly exported a
      class to RB when converting TypeScript code.

    Fortunately, issues #1 and #3 haven't been a problem so far, but it's
    too easy for something to go wrong there. We want to be testing the same
    code and state that the Review Board pages would be loading themselves.

    This change updates all the imports in the unit tests to import from the
    exported bundles.

    All JavaScript unit tests pass.

    Verified that the resulting bundle file only had unit test code in it.

    Summary ID
    Unbundle core classes from the tests JavaScript bundle.
    Many of our new TypeScript-based JavaScript unit tests were doing relative imports for the modules they want to test. This caused the tests to test against a copy of the core classes normally exported to the `RB` namespace, which meant: 1. We weren't testing the actual exposed classes, which could cause state issues or duplicate initialization. 2. We were ballooning the size of our tests JavaScript bundle and the memory/load time for the page. 3. We weren't in a position to catch whether we properly exported a class to `RB` when converting TypeScript code. Fortunately, issues #1 and #3 haven't been a problem so far, but it's too easy for something to go wrong there. We want to be testing the same code and state that the Review Board pages would be loading themselves. This change updates all the imports in the unit tests to import from the exported bundles.
    ef27472e59f3f9f3698e25477eb8520d78d87aae
    Description From Last Updated

    These can be merged.

    maubinmaubin
    maubin
    1. 
        
    2. Show all issues

      These can be merged.

    3. 
        
    chipx86
    david
    1. Thanks for doing this! More and more I'd been leaning towards this, and I was planning on bringing it up after we shipped.

    2. 
        
    chipx86
    Review request changed
    Status:
    Completed
    Change Summary:
    Pushed to release-6.x (a35d7ae)