Chrome Extension: Pull Request Integration

Overview

This document explains and demonstrates where and how Chrome Extension presents Untested Code Changes (aka Quality Risks or UCCs) in an overlay over Pull Request lists and individual Pull Requests.

The Chrome Extension implemantation replaces the current PR Integration that is done with SCM (e.g. Github) API. The current implementation is limited to SCMs that provide this functionality, and is subject to how the SCM injects the data we provide into the page. The Chrome Extension implementation mitigates these limitations.

Requirements

Configuration (onboarding) that includes reporting PR data can be found here: https://sealights.atlassian.net/wiki/spaces/SUP/pages/618954850

Data Overlays

The illustrations here are from Github cloud, but this feature is supported on all popular SCM platforms (Github, Bitbucket, Gitlab, TFS, VSTS).

Pull Request List

Each Pull Request that Sealights has UCC data on, is annotatted with the number of UCCs in the PR. This number is an aggregate of all the UCCs in all commits included in this PR, and of all coverage types (methods/branch/lines) supported in the repository.

When the mouse is over the annotation, the annotation expands and shows the full description of the UCCs.

Pull Request

When drilling down to a single Pull Request, The UCCs data is displayed in the File changed tab. This tab shows the full list of changed files from all commits, and reflects the changes up to and including the latest commit.

Sealighst toolbar shows the following metrics:

  1. Test Stage selection drop-down

  2. Coverage %

  3. Number of UCCs

The metrics reflect the selected test stage, and the coverage type that can be one of the following:

  1. A single coverage type (method OR branch OR line)

  2. All coverage types (in case the repository includes metrics of multiple coverage types). In this case the coverage % will show value per coverage type, and the UCC count will show the sum of all UCCs of all coverage types.

Each code line that is identified as UCC will be annotated by a red diamond as illustrated below:

Toolbar Configuration

Clicking the vertical ellipsis on the toolbar right end, will show a small popup where the user can select the following:

  1. File annotations contrast: when selected the annotations in the code will appear dark

  2. Coverage type: any individual type that is supported, or All