C2LC-220: Report on (and potentially improve) test code coverage.

Metadata

Source
C2LC-220
Type
Task
Priority
N/A
Status
Done
Resolution
N/A
Assignee
N/A
Reporter
Created
2020-09-09T07:48:06.247-0400
Updated
2020-09-22T09:03:09.761-0400
Versions
N/A
Fixed Versions
  1. Coding Env 0.4
Component
  1. Coding Environment

Description

Currently, we do not report on code coverage in the coding environment. This ticket covers adding coverage both to local test runs and especially as part of CI builds.

As there are likely to be a lot of gaps, we should discuss how many gaps to close as part of the initial effort.

One option we have whether or not we choose to close the gaps in this issue is to establish our baseline and set any lower level of code coverage as a test failure.

Comments

  • Tony Atkins [RtF] commented 2020-09-09T07:48:29.103-0400

    -------------------------------|----------|----------|----------|----------|-------------------|
    File                           |  % Stmts | % Branch |  % Funcs |  % Lines | Uncovered Line #s |
    -------------------------------|----------|----------|----------|----------|-------------------|
    All files                      |     55.9 |    43.65 |    46.28 |    56.61 |                   |
     src                           |    67.62 |    61.92 |    53.47 |    67.58 |                   |
      ActionPanel.js               |       90 |    78.57 |      100 |       90 |       142,143,144 |
      AddModeImage.js              |        0 |      100 |        0 |        0 |                14 |
      AddNode.js                   |    77.27 |    54.55 |       60 |    77.27 |    24,25,26,45,46 |
      App.js                       |    31.03 |       25 |     8.57 |    31.03 |... 08,410,413,414 |
      AriaDisablingButton.js       |      100 |      100 |      100 |      100 |                   |
      AudioFeedbackToggleSwitch.js |      100 |      100 |      100 |      100 |                   |
      AudioManager.js              |       40 |        0 |    33.33 |       40 |          23,24,29 |
      BluetoothApiWarning.js       |      100 |      100 |      100 |      100 |                   |
      C2lcMath.js                  |      100 |      100 |      100 |      100 |                   |
      CharacterState.js            |      100 |      100 |      100 |      100 |                   |
      CommandBlock.js              |      100 |       50 |      100 |      100 |                36 |
      CommandPalette.js            |      100 |      100 |      100 |      100 |                   |
      CommandPaletteCategory.js    |      100 |      100 |      100 |      100 |                   |
      CommandPaletteCommand.js     |       80 |      100 |       50 |       80 |             27,31 |
      ConfirmDeleteAllModal.js     |      100 |      100 |      100 |      100 |                   |
      DashConnectionErrorModal.js  |      100 |      100 |      100 |      100 |                   |
      DashDriver.js                |    11.11 |      100 |        0 |    11.11 |... 36,37,43,50,57 |
      DeleteModeImage.js           |        0 |      100 |        0 |        0 |                14 |
      DeviceConnectControl.js      |      100 |      100 |      100 |      100 |                   |
      FakeRobotDriver.js           |        0 |      100 |        0 |        0 |... 20,24,25,29,30 |
      FeatureDetection.js          |       50 |      100 |       50 |       50 |                 8 |
      FocusTrapManager.js          |    38.89 |       10 |       50 |    38.89 |... 64,65,66,67,68 |
      Interpreter.js               |      100 |      100 |      100 |      100 |                   |
      MicMonitor.js                |        0 |        0 |        0 |        0 |... 30,31,39,40,46 |
      ProgramBlockEditor.js        |    90.32 |    84.85 |    76.67 |    90.32 |... 37,241,316,464 |
      ProgramTextEditor.js         |    84.62 |       50 |      100 |    84.62 |             43,44 |
      ProgramUtils.js              |      100 |      100 |      100 |      100 |                   |
      RobotCharacter.js            |      100 |      100 |      100 |      100 |                   |
      Scene.js                     |      100 |      100 |      100 |      100 |                   |
      SoundexTable.js              |    96.88 |    94.44 |      100 |    96.88 |                55 |
      TextSyntax.js                |      100 |      100 |      100 |      100 |                   |
      ToggleSwitch.js              |      100 |       75 |      100 |      100 |                23 |
      Utils.js                     |      100 |      100 |      100 |      100 |                   |
      WebSpeechEventProcessor.js   |      100 |     87.5 |      100 |      100 |                30 |
      WebSpeechInput.js            |        0 |      100 |        0 |        0 |... 49,50,51,52,53 |
      index.js                     |        0 |      100 |      100 |        0 |            6,8,13 |
      serviceWorker.js             |        0 |        0 |        0 |        0 |... 23,130,131,132 |
      types.js                     |        0 |        0 |        0 |        0 |                   |
     src/vendor/dragdroptouch      |    22.08 |     3.39 |       10 |    23.39 |                   |
      DragDropTouch.js             |    22.08 |     3.39 |       10 |    23.39 |... 21,422,423,426 |
    -------------------------------|----------|----------|----------|----------|-------------------|
    
  • Tony Atkins [RtF] commented 2020-09-09T07:50:57.385-0400

    That's the result of running npm test -- --watchAll --coverage against develop-0.4. 

    Someone should review on a case by case basis, but I assume there are easy fixes like excluding the vendor drag and drop code from our coverage report.

  • Tony Atkins [RtF] commented 2020-09-16T07:59:12.381-0400

    This is being rolled into the pull associated with C2LC-221.