Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add e2e tests for new model overview experience (part 1) #1467

Merged
merged 66 commits into from
Jun 24, 2022

Conversation

romanlutz
Copy link
Contributor

@romanlutz romanlutz commented Jun 6, 2022

Description

copy of #1462 but targeted at main instead of postbuild

While adding e2e tests for the new model overview experience I encountered several challenges that needed to be addressed first. Therefore, this PR contains somewhat more than just the tests. Whatever I could separate out into other PRs I've already separated out and merged (#1505 #1507 #1478)

  • e2e-widget.js now has the ability to generate notebooks with flights injected! We just pass feature_flights to the dashboard constructor and voila we can run e2e tests on the flighted UI. Right now there's only 1 flight, but if there were multiple we'd need to specify which combinations we want to have e2e tests for and add spec files accordingly (more on spec files below).
  • added a very basic set of tests for the new model overview experience in the e2e package (describeNewModelOverview under v2) and moved the existing ones into a v1 folder. Tests cover all tasks and notebooks, but will need to be expanded in a follow-up PR.
  • lots of spec files for the flighted notebooks. These aren't necessarily very different. The only file that actually differs is the one about model overview (using describeNewModelOverview). You can easily imagine future scenarios where there is quite a bit of difference so this duplication may end up being less duplication than it looks right now. Fortunately, I found a nice way to avoid duplicating the "expected" values (see modelAssessmentDatasets.ts).

For the record, I fully expect to delete everything v1/old as soon as we are confident about v2/new. This will not linger around like other "old" parts that we've seen in the past.

Checklist

  • I have added screenshots above for all UI changes.
  • I have added e2e tests for all UI changes.
  • Documentation was updated if it was needed.

romanlutz and others added 21 commits May 17, 2022 15:19
…ebook execution, more ID tags added to model overview component
* fix error on machines with pyspark installed where passed dataframe is not spark pandas (#1415)

* add postbuild branch trigger (#1417)

* Fix causal UI strings according to classification/regression tasks (#1419)

* Fix causal UI strings according to classification/regression tasks

Signed-off-by: Gaurav Gupta <[email protected]>

* Fix lint error

Signed-off-by: Gaurav Gupta <[email protected]>

* Fix UI test

Signed-off-by: Gaurav Gupta <[email protected]>

* Fix description for model overview (#1425)

* fix description for model overview

* keep new description for new model overview

* fix failing to create error report when filter_features is empty list (#1421)

* filter out missing values from what if dropdown to prevent explanation dashboard from crashing (#1418)

* Remove |Set Value| blurb in case it is not availble in counterfactual panel (#1426)

Signed-off-by: Gaurav Gupta <[email protected]>

* Add y-axis description to counterfactual feature importance chart (#1423)

Signed-off-by: Gaurav Gupta <[email protected]>

Co-authored-by: xuke444 <[email protected]>

* Add the user class name to causal UI strings (#1422)

* Fix causal UI strings according to classification/regression tasks

Signed-off-by: Gaurav Gupta <[email protected]>

* Fix lint error

Signed-off-by: Gaurav Gupta <[email protected]>

* Fix UI test

Signed-off-by: Gaurav Gupta <[email protected]>

* Add the user class name to causal UI strings

Signed-off-by: Gaurav Gupta <[email protected]>

Co-authored-by: xuke444 <[email protected]>

* fix math.min / max for array size more than 10^7 (#1427)

Signed-off-by: Ke Xu <[email protected]>

* upgrade pytest and lightgbm to try to fix random pytest segfault test failures (#1424)

s

* fix flaky notebook causing build failures by adding retry logic (#1431)

* Upper bound SciKit-Learn to address freeze in causal (#1432)

<!--- Provide a general summary of your changes in the Title above -->

## Description

Replaces #1429  to address #1430 . Causal analysis is getting stuck with the latest release of SciKit-Learn. This contains:

- Test case which gets stuck with SciKit-Learn 1.1.0
- Upper bound on SciKit-Learn in `requirements.txt`

## Checklist

<!--- Make sure to satisfy all the criteria listed below. -->

- [x] I have added screenshots above for all UI changes.
- [x] Documentation was updated if it was needed.
- [x] New tests were added or changes were manually verified.


Signed-off-by: Richard Edgar <[email protected]>

* fix dependency chart axis updating with incorrect values in explanation dashboard (#1437)

* fix codecov and widget test screenshot uploads (#1428)

* release raiwidgets and responsibleai v0.18.2 (#1439)

* fix (#1441)

Signed-off-by: vinutha karanth <[email protected]>

* Fix cohort name conflict and not run few tests for AML (#1442)

* fix

Signed-off-by: vinutha karanth <[email protected]>

* lintfix

Signed-off-by: vinutha karanth <[email protected]>

* Few e2e tests changes to accommodate AML static tests (#1445)

* update

Signed-off-by: vinutha karanth <[email protected]>

* update

Signed-off-by: vinutha karanth <[email protected]>

* Fix locators logic for string features -  data explorer and model statistics components (#1446)

* update

Signed-off-by: vinutha karanth <[email protected]>

* update

Signed-off-by: vinutha karanth <[email protected]>

* fix

Signed-off-by: vinutha karanth <[email protected]>

* update

Signed-off-by: vinutha karanth <[email protected]>

* lintfix

Signed-off-by: vinutha karanth <[email protected]>

* fix

Signed-off-by: vinutha karanth <[email protected]>

* Add more unittests RAI dashboard input class  (#1448)

* Add unit tests for ResponsibleAIDashboardInput

Signed-off-by: Gaurav Gupta <[email protected]>

* Add more tests

Signed-off-by: Gaurav Gupta <[email protected]>

* Fix imports

Signed-off-by: Gaurav Gupta <[email protected]>

* Address code review comments

Signed-off-by: Gaurav Gupta <[email protected]>

* Update the way to get the length of elements obtained in e2e tests (#1450)

* update

Signed-off-by: vinutha karanth <[email protected]>

* update

Signed-off-by: vinutha karanth <[email protected]>

* skip what-if create tests for AML

Signed-off-by: vinutha karanth <[email protected]>

Co-authored-by: Ilya Matiach <[email protected]>
Co-authored-by: Gaurav Gupta <[email protected]>
Co-authored-by: xuke444 <[email protected]>
Co-authored-by: Richard Edgar <[email protected]>
Co-authored-by: Vinutha Karanth <[email protected]>
…ategorical')" (#1452)

* fix error on machines with pyspark installed where passed dataframe is not spark pandas (#1415)

* add postbuild branch trigger (#1417)

* Fix causal UI strings according to classification/regression tasks (#1419)

* Fix causal UI strings according to classification/regression tasks

Signed-off-by: Gaurav Gupta <[email protected]>

* Fix lint error

Signed-off-by: Gaurav Gupta <[email protected]>

* Fix UI test

Signed-off-by: Gaurav Gupta <[email protected]>

* Fix description for model overview (#1425)

* fix description for model overview

* keep new description for new model overview

* fix failing to create error report when filter_features is empty list (#1421)

* filter out missing values from what if dropdown to prevent explanation dashboard from crashing (#1418)

* Remove |Set Value| blurb in case it is not availble in counterfactual panel (#1426)

Signed-off-by: Gaurav Gupta <[email protected]>

* Add y-axis description to counterfactual feature importance chart (#1423)

Signed-off-by: Gaurav Gupta <[email protected]>

Co-authored-by: xuke444 <[email protected]>

* Add the user class name to causal UI strings (#1422)

* Fix causal UI strings according to classification/regression tasks

Signed-off-by: Gaurav Gupta <[email protected]>

* Fix lint error

Signed-off-by: Gaurav Gupta <[email protected]>

* Fix UI test

Signed-off-by: Gaurav Gupta <[email protected]>

* Add the user class name to causal UI strings

Signed-off-by: Gaurav Gupta <[email protected]>

Co-authored-by: xuke444 <[email protected]>

* fix math.min / max for array size more than 10^7 (#1427)

Signed-off-by: Ke Xu <[email protected]>

* upgrade pytest and lightgbm to try to fix random pytest segfault test failures (#1424)

s

* fix flaky notebook causing build failures by adding retry logic (#1431)

* Upper bound SciKit-Learn to address freeze in causal (#1432)

<!--- Provide a general summary of your changes in the Title above -->

## Description

Replaces #1429  to address #1430 . Causal analysis is getting stuck with the latest release of SciKit-Learn. This contains:

- Test case which gets stuck with SciKit-Learn 1.1.0
- Upper bound on SciKit-Learn in `requirements.txt`

## Checklist

<!--- Make sure to satisfy all the criteria listed below. -->

- [x] I have added screenshots above for all UI changes.
- [x] Documentation was updated if it was needed.
- [x] New tests were added or changes were manually verified.


Signed-off-by: Richard Edgar <[email protected]>

* fix dependency chart axis updating with incorrect values in explanation dashboard (#1437)

* fix codecov and widget test screenshot uploads (#1428)

* release raiwidgets and responsibleai v0.18.2 (#1439)

* fix (#1441)

Signed-off-by: vinutha karanth <[email protected]>

* Fix cohort name conflict and not run few tests for AML (#1442)

* fix

Signed-off-by: vinutha karanth <[email protected]>

* lintfix

Signed-off-by: vinutha karanth <[email protected]>

* Few e2e tests changes to accommodate AML static tests (#1445)

* update

Signed-off-by: vinutha karanth <[email protected]>

* update

Signed-off-by: vinutha karanth <[email protected]>

* Fix locators logic for string features -  data explorer and model statistics components (#1446)

* update

Signed-off-by: vinutha karanth <[email protected]>

* update

Signed-off-by: vinutha karanth <[email protected]>

* fix

Signed-off-by: vinutha karanth <[email protected]>

* update

Signed-off-by: vinutha karanth <[email protected]>

* lintfix

Signed-off-by: vinutha karanth <[email protected]>

* fix

Signed-off-by: vinutha karanth <[email protected]>

* fix

Signed-off-by: vinutha karanth <[email protected]>

* Add more unittests RAI dashboard input class  (#1448)

* Add unit tests for ResponsibleAIDashboardInput

Signed-off-by: Gaurav Gupta <[email protected]>

* Add more tests

Signed-off-by: Gaurav Gupta <[email protected]>

* Fix imports

Signed-off-by: Gaurav Gupta <[email protected]>

* Address code review comments

Signed-off-by: Gaurav Gupta <[email protected]>

* more update

Signed-off-by: vinutha karanth <[email protected]>

* Update the way to get the length of elements obtained in e2e tests (#1450)

* update

Signed-off-by: vinutha karanth <[email protected]>

* update

Signed-off-by: vinutha karanth <[email protected]>

* skip what-if create tests for AML

Signed-off-by: vinutha karanth <[email protected]>

Co-authored-by: Ilya Matiach <[email protected]>
Co-authored-by: Roman Lutz <[email protected]>
Co-authored-by: Gaurav Gupta <[email protected]>
Co-authored-by: xuke444 <[email protected]>
Co-authored-by: Richard Edgar <[email protected]>
…el (#1458)

* fix error on machines with pyspark installed where passed dataframe is not spark pandas (#1415)

* add postbuild branch trigger (#1417)

* Fix causal UI strings according to classification/regression tasks (#1419)

* Fix causal UI strings according to classification/regression tasks

Signed-off-by: Gaurav Gupta <[email protected]>

* Fix lint error

Signed-off-by: Gaurav Gupta <[email protected]>

* Fix UI test

Signed-off-by: Gaurav Gupta <[email protected]>

* Fix description for model overview (#1425)

* fix description for model overview

* keep new description for new model overview

* fix failing to create error report when filter_features is empty list (#1421)

* filter out missing values from what if dropdown to prevent explanation dashboard from crashing (#1418)

* Remove |Set Value| blurb in case it is not availble in counterfactual panel (#1426)

Signed-off-by: Gaurav Gupta <[email protected]>

* Add y-axis description to counterfactual feature importance chart (#1423)

Signed-off-by: Gaurav Gupta <[email protected]>

Co-authored-by: xuke444 <[email protected]>

* Add the user class name to causal UI strings (#1422)

* Fix causal UI strings according to classification/regression tasks

Signed-off-by: Gaurav Gupta <[email protected]>

* Fix lint error

Signed-off-by: Gaurav Gupta <[email protected]>

* Fix UI test

Signed-off-by: Gaurav Gupta <[email protected]>

* Add the user class name to causal UI strings

Signed-off-by: Gaurav Gupta <[email protected]>

Co-authored-by: xuke444 <[email protected]>

* fix math.min / max for array size more than 10^7 (#1427)

Signed-off-by: Ke Xu <[email protected]>

* upgrade pytest and lightgbm to try to fix random pytest segfault test failures (#1424)

s

* fix flaky notebook causing build failures by adding retry logic (#1431)

* Upper bound SciKit-Learn to address freeze in causal (#1432)

<!--- Provide a general summary of your changes in the Title above -->

## Description

Replaces #1429  to address #1430 . Causal analysis is getting stuck with the latest release of SciKit-Learn. This contains:

- Test case which gets stuck with SciKit-Learn 1.1.0
- Upper bound on SciKit-Learn in `requirements.txt`

## Checklist

<!--- Make sure to satisfy all the criteria listed below. -->

- [x] I have added screenshots above for all UI changes.
- [x] Documentation was updated if it was needed.
- [x] New tests were added or changes were manually verified.


Signed-off-by: Richard Edgar <[email protected]>

* fix dependency chart axis updating with incorrect values in explanation dashboard (#1437)

* fix codecov and widget test screenshot uploads (#1428)

* release raiwidgets and responsibleai v0.18.2 (#1439)

* fix (#1441)

Signed-off-by: vinutha karanth <[email protected]>

* Fix cohort name conflict and not run few tests for AML (#1442)

* fix

Signed-off-by: vinutha karanth <[email protected]>

* lintfix

Signed-off-by: vinutha karanth <[email protected]>

* Few e2e tests changes to accommodate AML static tests (#1445)

* update

Signed-off-by: vinutha karanth <[email protected]>

* update

Signed-off-by: vinutha karanth <[email protected]>

* Fix locators logic for string features -  data explorer and model statistics components (#1446)

* update

Signed-off-by: vinutha karanth <[email protected]>

* update

Signed-off-by: vinutha karanth <[email protected]>

* fix

Signed-off-by: vinutha karanth <[email protected]>

* update

Signed-off-by: vinutha karanth <[email protected]>

* lintfix

Signed-off-by: vinutha karanth <[email protected]>

* fix

Signed-off-by: vinutha karanth <[email protected]>

* Add more unittests RAI dashboard input class  (#1448)

* Add unit tests for ResponsibleAIDashboardInput

Signed-off-by: Gaurav Gupta <[email protected]>

* Add more tests

Signed-off-by: Gaurav Gupta <[email protected]>

* Fix imports

Signed-off-by: Gaurav Gupta <[email protected]>

* Address code review comments

Signed-off-by: Gaurav Gupta <[email protected]>

* Update the way to get the length of elements obtained in e2e tests (#1450)

* update

Signed-off-by: vinutha karanth <[email protected]>

* update

Signed-off-by: vinutha karanth <[email protected]>

* skip what-if create tests for AML

Signed-off-by: vinutha karanth <[email protected]>

* update cf predicted class to non-editable text

Co-authored-by: Ilya Matiach <[email protected]>
Co-authored-by: Roman Lutz <[email protected]>
Co-authored-by: Gaurav Gupta <[email protected]>
Co-authored-by: xuke444 <[email protected]>
Co-authored-by: Richard Edgar <[email protected]>
Co-authored-by: Vinutha Karanth <[email protected]>
@codecov-commenter
Copy link

codecov-commenter commented Jun 6, 2022

Codecov Report

Merging #1467 (3ac1c73) into main (b4ba63c) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##             main    #1467   +/-   ##
=======================================
  Coverage   87.27%   87.27%           
=======================================
  Files         108      108           
  Lines        5108     5108           
=======================================
  Hits         4458     4458           
  Misses        650      650           
Flag Coverage Δ
unittests 87.27% <ø> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.


Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update b4ba63c...3ac1c73. Read the comment docs.

@romanlutz romanlutz changed the title Romanlutz/test model overview Add e2e tests for new model overview experience (part 1) Jun 6, 2022
1 similar comment
1 similar comment
@romanlutz romanlutz requested a review from imatiach-msft as a code owner June 24, 2022 02:17
1 similar comment
2 similar comments
@romanlutz romanlutz merged commit f52539a into main Jun 24, 2022
@romanlutz romanlutz deleted the romanlutz/test_model_overview branch June 24, 2022 04:51
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants