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

Transforms unit and cypress tests #92

Merged
merged 15 commits into from
Oct 22, 2021

Conversation

lobdelle
Copy link
Contributor

Description

Adds Cypress tests and Jest unit tests to transforms. Does not fully cover transforms, but adds some bare minimum tests.

Check List

  • Commits are signed per the DCO using --signoff

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
For more information on following Developer Certificate of Origin and signing off your commits, please check here.

@codecov-commenter
Copy link

codecov-commenter commented Sep 15, 2021

Codecov Report

❗ No coverage uploaded for pull request base (main@c1b76de). Click here to learn what that means.
The diff coverage is n/a.

Impacted file tree graph

@@           Coverage Diff           @@
##             main      #92   +/-   ##
=======================================
  Coverage        ?   62.45%           
=======================================
  Files           ?      154           
  Lines           ?     4387           
  Branches        ?      682           
=======================================
  Hits            ?     2740           
  Misses          ?     1436           
  Partials        ?      211           

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 c1b76de...404557f. Read the comment docs.

@lobdelle lobdelle requested a review from annie3431 October 5, 2021 17:53
cypress/integration/transforms_spec.js Outdated Show resolved Hide resolved
cypress/integration/transforms_spec.js Show resolved Hide resolved
cypress/integration/transforms_spec.js Outdated Show resolved Hide resolved
cypress/integration/transforms_spec.js Outdated Show resolved Hide resolved
cypress/integration/transforms_spec.js Show resolved Hide resolved
// Confirm we have our initial transform
cy.contains(TRANSFORM_ID);

// Disable transform
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Does a transform need to be disabled to be deleted?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes, an exception is thrown otherwise.

cypress/integration/transforms_spec.js Show resolved Hide resolved
cypress/integration/transforms_spec.js Show resolved Hide resolved
@annie3431
Copy link
Contributor

Do we want to add "can successfully update transforms job" cypress test, too?

@lobdelle
Copy link
Contributor Author

Do we want to add "can successfully update transforms job" cypress test, too?

Testing for this is present in the "can be edited" test. Updates to transforms are limited. If you mean updating the data and rerunning the job, I think it's better to save tests like that for when we put out continuous transforms, since right now each run is discrete and separate.

@lobdelle lobdelle requested a review from dbbaughe October 15, 2021 22:36
userEvent.click(getByTestId("createTransformNextButton"));
await waitFor(() => {},{timeout:2000});

// Currently no pop up warnings?
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think there might be some inline error text that we can check. But knowing that it is still on step 1 is also fine.

await waitFor(() => getByText("Testing transform edit page"));
});

it("can edit description", async () => {
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I see that you mentioned this test is incomplete. I think we can probably create a issue with the test cases that are not implemented but should be. Right here I think that we can add check to make sure that the fields such as name is read only.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

That was on the previous revision, I made sure the test was actually testing what it needed to, because previously it just wasn't checking for anything it needed to. Checking for read-only fields would be a good future improvement for sure.

annie3431
annie3431 previously approved these changes Oct 20, 2021
@lobdelle lobdelle force-pushed the transforms-unit-tests branch from 404557f to ae544f2 Compare October 21, 2021 18:26
Signed-off-by: Eric Lobdell <lobdelle@amazon.com>
@lobdelle lobdelle requested a review from annie3431 October 21, 2021 19:38
@lobdelle lobdelle merged commit 784fc02 into opensearch-project:main Oct 22, 2021
lobdelle added a commit that referenced this pull request Nov 5, 2021
* Fixes editing rollup delay (#82)

* Fixes editing the delay amount and displaying the schedule for rollups

Signed-off-by: Clay Downs <downsrob@amazon.com>

* Bumps version to 1.2 (#103)

* Bumps version to 1.2

* Changes test workflows to follow Dashboards 1.x

Signed-off-by: Clay Downs <downsrob@amazon.com>

* Fixes flakey tests (#105)

* Fixes flakey cypress test 'rollup enable and disable test'

* Fixes flakey unit test 'can delete a rollup job'

Signed-off-by: Robert Downs <downsrob@amazon.com>

* Fixed Transforms geo_point bug and boolean render (#93)

* Fixed Transforms geo_point bug and boolean render
* Set default DefineTransforms table render behavior to JSON.stringify
* Updated DefineTransforms null cell value check

Signed-off-by: Eric Lobdell <lobdelle@amazon.com>

* Transform bug fixes (#109)

* Rename plugin helper file

* Update TransformIndices.tsx

* Backport commits from main (#90)

* Release 1.1.0.0 (#83)

* Release 1.1.0.0

Signed-off-by: bowenlan-amzn <bowenlan23@gmail.com>

* Correct copyright notices

* UI fixes for new ISM UI (#84)

* Removes X icon from action/transition flyout footer next to cancel

Signed-off-by: Drew Baugher <46505179+dbbaughe@users.noreply.github.com>

* Adds tooltips to edit/delete icon buttons on the draggable action/transition components

Signed-off-by: Drew Baugher <46505179+dbbaughe@users.noreply.github.com>

* Removes overlay for flyout so clicking outside doesn't close flyout and removes X close button on top right

Signed-off-by: Drew Baugher <46505179+dbbaughe@users.noreply.github.com>

* Adds edit/delete tooltips for state component and removes underline from hovering states

Signed-off-by: Drew Baugher <46505179+dbbaughe@users.noreply.github.com>

* Changes state flyout from X Close to Cancel

Signed-off-by: Drew Baugher <46505179+dbbaughe@users.noreply.github.com>

* Adds JSON editor for allocation action

Signed-off-by: Drew Baugher <46505179+dbbaughe@users.noreply.github.com>

* Adds isValid to action interface and implements in actions

Signed-off-by: Drew Baugher <46505179+dbbaughe@users.noreply.github.com>

* Correctly removes unused rollover keys from rollover object, handles uncontrolled inputs and NaN minDocs

Signed-off-by: Drew Baugher <46505179+dbbaughe@users.noreply.github.com>

* Adds error for state name already existing in policy

Signed-off-by: Drew Baugher <46505179+dbbaughe@users.noreply.github.com>

* Fixes duplicated actions when editing as previously we had a new ID and matching logic didn't find an action

Signed-off-by: Drew Baugher <46505179+dbbaughe@users.noreply.github.com>

* Fixes other action inputs that can return NaN and creates a no conditions option that is the default

Signed-off-by: Drew Baugher <46505179+dbbaughe@users.noreply.github.com>

* Updates snapshot

Signed-off-by: Drew Baugher <46505179+dbbaughe@users.noreply.github.com>

* Correctly show danger toast on update/create failures

Signed-off-by: Drew Baugher <46505179+dbbaughe@users.noreply.github.com>

* Fixes rollup action nesting multiple ism_template keys

Signed-off-by: Drew Baugher <46505179+dbbaughe@users.noreply.github.com>

* Fixes timeout/retry settings turning into uncontrolled inputs and NaN value

Signed-off-by: Drew Baugher <46505179+dbbaughe@users.noreply.github.com>

* Removes text transformation on inputs and updates isValid methods and passes to form labels

Signed-off-by: Drew Baugher <46505179+dbbaughe@users.noreply.github.com>

* Fixes allocation and rollup adding UIAction properties to policy JSON on updates

Signed-off-by: Drew Baugher <46505179+dbbaughe@users.noreply.github.com>

* Updates release notes w/ new PR changes

Signed-off-by: Drew Baugher <46505179+dbbaughe@users.noreply.github.com>

* Wraps actions/transitions in states component and updates default rollup to include ism_rollup key

Signed-off-by: Drew Baugher <46505179+dbbaughe@users.noreply.github.com>

* Fixes some small UI touchups/issues for new ISM UI (#85)

* Moves cancel secondary button next to primary on action/transition flyout

Signed-off-by: Drew Baugher <46505179+dbbaughe@users.noreply.github.com>

* Removes default ISM template and increases width of empty prompt

Signed-off-by: Drew Baugher <46505179+dbbaughe@users.noreply.github.com>

* Adds punctuation

Signed-off-by: Drew Baugher <46505179+dbbaughe@users.noreply.github.com>

* Adds back X icon next to cancel for state flyout

Signed-off-by: Drew Baugher <46505179+dbbaughe@users.noreply.github.com>

* Makes inputs in flyout full width, updates help text, and adds some spacing

Signed-off-by: Drew Baugher <46505179+dbbaughe@users.noreply.github.com>

* Updates transition default to not include conditions empty object, and on change transition to delete conditions when selecting none

Signed-off-by: Drew Baugher <46505179+dbbaughe@users.noreply.github.com>

* Moves edit button out of policy settings content panel and on to global page for view policy

Signed-off-by: Drew Baugher <46505179+dbbaughe@users.noreply.github.com>

* Updates release note

Signed-off-by: Drew Baugher <46505179+dbbaughe@users.noreply.github.com>

* Fixes broken link

Signed-off-by: Drew Baugher <46505179+dbbaughe@users.noreply.github.com>

* Fixes small issues on new ISM UI (#88)

* Fixes small issues on new ISM UI

Signed-off-by: Drew Baugher <46505179+dbbaughe@users.noreply.github.com>

* Updates snapshots

Signed-off-by: Drew Baugher <46505179+dbbaughe@users.noreply.github.com>

* Updates release notes

Signed-off-by: Drew Baugher <46505179+dbbaughe@users.noreply.github.com>

* Updates workflows to trigger on 1.* branches

Signed-off-by: Drew Baugher <46505179+dbbaughe@users.noreply.github.com>

Co-authored-by: Bowen Lan <62091230+bowenlan-amzn@users.noreply.github.com>

* Support data filter when viewing sample data

* Update TransformOptions.tsx

* Add TransformService.test.ts

* Draft of date histogram panel

* Add helper method and move import

* Split calendar and fixed interval to 2 panels

* Add rendering test

* Add close popover test

* Update cypress-workflow.yml

* Update links.yml

* Update unit-tests-workflow.yml

* Update TransformOptions.tsx

* Update tests

* Update DateHistogramPanel.test.tsx

* Make scripted metrics editor larger

* Expand code editor related panels

* Undo changes to workflow

Signed-off-by: Annie Lee <leeyun@amazon.com>

* Update TimeAggregation.tsx

* Update DefineTransforms.tsx

undo changes to style

* Clean up code

* Update snapshot

Signed-off-by: Annie Lee <leeyun@amazon.com>

* Refactor the order of checking if name is defined before checking for duplicate name

* Update CreateTransformForm.tsx

* Update DefineTransforms.tsx

Signed-off-by: Annie Lee <leeyun@amazon.com>

* Update DefineTransforms.tsx

Signed-off-by: Annie Lee <leeyun@amazon.com>

* Update DefineTransforms.tsx

* Update DefineTransforms.tsx

* Update DefineTransforms.tsx

Co-authored-by: Drew Baugher <46505179+dbbaughe@users.noreply.github.com>
Co-authored-by: Bowen Lan <62091230+bowenlan-amzn@users.noreply.github.com>

* Fix the bugs in visual UI for legacy notification (#111)

* Transforms unit and cypress tests (#92)

* Transform cypress tests (#21)

* Added Cypress tests for Transforms UI

* License update

* Unit tests initial commit

* Added jest tests for Transforms, details, edit and create

* Sample transform fix

* Fixed cypress test transform and sample data load order

Signed-off-by: Eric Lobdell <lobdelle@amazon.com>

* Test fix debug

* Simplified unit test

* Updated transforms cypress test comments and success criteria

Signed-off-by: Eric Lobdell <lobdelle@amazon.com>

* Fixed quotation mark issue in test

Signed-off-by: Eric Lobdell <lobdelle@amazon.com>

* Removed debug mapping and index objects from unit test

Signed-off-by: Eric Lobdell <lobdelle@amazon.com>

* Cypress test improvements and completed edit transform unit test

Signed-off-by: Eric Lobdell <lobdelle@amazon.com>

* Integ test delete fix and EditTransforms jest test fix

Signed-off-by: Eric Lobdell <lobdelle@amazon.com>

* Restoring enable disable page refresh delay to fix failing integ test

Signed-off-by: Eric Lobdell <lobdelle@amazon.com>

* Resolve test constants conflict

Signed-off-by: Eric Lobdell <lobdelle@amazon.com>

* Fix pagination of managed indices page (#113)

* Disables jitter for managed_indices_spec Cypress tests (#122)

Signed-off-by: Robert Downs <downsrob@amazon.com>

Co-authored-by: Clay Downs <89109232+downsrob@users.noreply.github.com>
Co-authored-by: Annie Lee <71157062+leeyun-amzn@users.noreply.github.com>
Co-authored-by: Drew Baugher <46505179+dbbaughe@users.noreply.github.com>
Co-authored-by: Bowen Lan <62091230+bowenlan-amzn@users.noreply.github.com>
Co-authored-by: Ravi <6005951+thalurur@users.noreply.github.com>
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.

4 participants