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)