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

[Canvas][tech-debt] Kill Recompose.pure #73295

Closed
wants to merge 1 commit into from

Conversation

clintandrewhall
Copy link
Contributor

Summary

The pure HOC from recompose has been overused in our codebase, oftentimes wrapping function components. This PR does the following:

  1. Kills all usages of the pure HOC.
    a. Types and converts all related files using best practices.
    b. Adds Storybook stories where applicable.
  2. Organizes all workpad annotations into a single directory
    a. Fixes CSS classes of same.
  3. Kills dead component: Navbar.

I may need to break this up, but I found myself finished and wondering if splitting it up was worth the extra time. Let me know if this seems undigestible.

@clintandrewhall clintandrewhall requested review from a team as code owners July 27, 2020 15:20
@clintandrewhall clintandrewhall added impact:medium Addressing this issue will have a medium level of impact on the quality/strength of our product. loe:small Small Level of Effort review Team:Presentation Presentation Team for Dashboard, Input Controls, and Canvas technical debt Improvement of the software architecture and operational architecture v7.10.0 v8.0.0 labels Jul 27, 2020
@elasticmachine
Copy link
Contributor

Pinging @elastic/kibana-canvas (Team:Canvas)

@clintandrewhall clintandrewhall added the release_note:skip Skip the PR/issue when compiling release notes label Jul 27, 2020
@clintandrewhall
Copy link
Contributor Author

I think this is too many files... gonna split this up. :'(

@kibanamachine
Copy link
Contributor

kibanamachine commented Jul 27, 2020

💔 Build Failed

Failed CI Steps


Test Failures

Kibana Pipeline / x-pack-intake-agent / X-Pack Jest Tests.x-pack/plugins/canvas/storybook.Storyshots components/TextStylePicker default

Link to Jenkins

Standard Out

Failed Tests Reporter:
  - Test has not failed recently on tracked branches


Stack Trace

Error: expect(received).toMatchSnapshot()

New snapshot was not written. The update flag must be explicitly passed to write a new snapshot.

This is likely because this test is run in a continuous integration (CI) environment in which snapshots are not written by default.

Received value 
<div
  style={
    Object {
      "width": 264,
    }
  }
>
  <div
    className="canvasTextStylePicker"
  >
    <div
      className="euiFlexGroup euiFlexGroup--gutterSmall euiFlexGroup--directionRow euiFlexGroup--responsive"
    >
      <div
        className="euiFlexItem"
      >
        <div
          className="euiPopover euiPopover--anchorDownCenter euiPopover--displayBlock euiSuperSelect"
          onKeyDown={[Function]}
          onMouseDown={[Function]}
          onMouseUp={[Function]}
          onTouchEnd={[Function]}
          onTouchStart={[Function]}
        >
          <div
            className="euiPopover__anchor"
          >
            <input
              type="hidden"
              value=""
            />
            <div
              className="euiFormControlLayout euiFormControlLayout--compressed"
            >
              <div
                className="euiFormControlLayout__childrenWrapper"
              >
                <span
                  className="euiScreenReaderOnly"
                  id="generated-id"
                >
                  Select an option: 
                  , is selected
                </span>
                <button
                  aria-haspopup="true"
                  aria-labelledby="undefined generated-id"
                  aria-selected={true}
                  className="euiSuperSelectControl euiSuperSelectControl--compressed"
                  onClick={[Function]}
                  onKeyDown={[Function]}
                  role="option"
                  type="button"
                />
                <div
                  className="euiFormControlLayoutIcons euiFormControlLayoutIcons--right"
                >
                  <span
                    className="euiFormControlLayoutCustomIcon"
                  >
                    <div
                      aria-hidden="true"
                      className="euiFormControlLayoutCustomIcon__icon"
                      data-euiicon-type="arrowDown"
                    />
                  </span>
                </div>
              </div>
            </div>
          </div>
        </div>
      </div>
      <div
        className="euiFlexItem euiFlexItem--flexGrowZero"
      >
        <div
          className="euiFormControlLayout euiFormControlLayout--compressed euiFormControlLayout--group"
        >
          <label
            className="euiFormLabel euiFormControlLayout__prepend"
          >
            Size
          </label>
          <div
            className="euiFormControlLayout__childrenWrapper"
          >
            <select
              className="euiSelect euiSelect--compressed euiSelect--inGroup"
              onChange={[Function]}
              onMouseUp={[Function]}
              value={14}
            >
              <option
                value={0}
              >
                0
              </option>
              <option
                value={6}
              >
                6
              </option>
              <option
                value={7}
              >
                7
              </option>
              <option
                value={8}
              >
                8
              </option>
              <option
                value={9}
              >
                9
              </option>
              <option
                value={10}
              >
                10
              </option>
              <option
                value={11}
              >
                11
              </option>
              <option
                value={12}
              >
                12
              </option>
              <option
                value={14}
              >
                14
              </option>
              <option
                value={16}
              >
                16
              </option>
              <option
                value={18}
              >
                18
              </option>
              <option
                value={24}
              >
                24
              </option>
              <option
                value={30}
              >
                30
              </option>
              <option
                value={36}
              >
                36
              </option>
              <option
                value={48}
              >
                48
              </option>
              <option
                value={60}
              >
                60
              </option>
              <option
                value={72}
              >
                72
              </option>
              <option
                value={96}
              >
                96
              </option>
            </select>
            <div
              className="euiFormControlLayoutIcons euiFormControlLayoutIcons--right"
            >
              <span
                className="euiFormControlLayoutCustomIcon"
              >
                <div
                  aria-hidden="true"
                  className="euiFormControlLayoutCustomIcon__icon"
                  data-euiicon-type="arrowDown"
                />
              </span>
            </div>
          </div>
        </div>
      </div>
    </div>
    <div
      className="euiSpacer euiSpacer--s"
    />
    <div
      className="euiFlexGroup euiFlexGroup--gutterSmall euiFlexGroup--alignItemsCenter euiFlexGroup--justifyContentFlexEnd euiFlexGroup--directionRow euiFlexGroup--responsive"
    >
      <div
        className="euiFlexItem euiFlexItem--flexGrowZero"
        style={
          Object {
            "fontSize": 0,
          }
        }
      >
        <div
          className="euiPopover euiPopover--anchorDownCenter"
          container={null}
          id="color-picker-popover"
          onKeyDown={[Function]}
          onMouseDown={[Function]}
          onMouseUp={[Function]}
          onTouchEnd={[Function]}
          onTouchStart={[Function]}
        >
          <div
            className="euiPopover__anchor"
          >
            <button
              aria-label="Font Color black"
              className="euiLink euiLink--primary"
              onClick={[Function]}
              style={
                Object {
                  "fontSize": 0,
                }
              }
              type="button"
            >
              <div
                className="canvasColorDot"
              >
                <div
                  className="canvasColorDot__background canvasCheckered"
                />
                <div
                  className="canvasColorDot__foreground"
                  style={Object {}}
                />
              </div>
            </button>
          </div>
        </div>
      </div>
      <div
        className="euiFlexItem euiFlexItem--flexGrowZero"
      >
        <fieldset
          className="euiButtonGroup__fieldset"
        >
          <div
            className="euiButtonGroup euiButtonGroup--compressed canvasSidebar__buttonGroup"
          >
            <div
              className="euiToggle euiButtonToggle__wrapper euiButtonGroup__toggle"
            >
              <input
                aria-label="Bold"
                checked={false}
                className="euiToggle__input euiButtonToggle__input"
                onChange={[Function]}
                title="Bold"
                type="checkbox"
              />
              <button
                className="euiButton euiButton--text euiButton--small euiButtonToggle euiButtonToggle--isIconOnly euiButtonGroup__button"
                id="bold"
                tabIndex={-1}
                type="button"
              >
                <span
                  className="euiButton__content"
                >
                  <div
                    aria-hidden="true"
                    className="euiButton__icon"
                    data-euiicon-type="editorBold"
                    size="m"
                  />
                  <span
                    className="euiButton__text"
                  >

                  </span>
                </span>
              </button>
            </div>
            <div
              className="euiToggle euiButtonToggle__wrapper euiButtonGroup__toggle"
            >
              <input
                aria-label="Italic"
                checked={false}
                className="euiToggle__input euiButtonToggle__input"
                onChange={[Function]}
                title="Italic"
                type="checkbox"
              />
              <button
                className="euiButton euiButton--text euiButton--small euiButtonToggle euiButtonToggle--isIconOnly euiButtonGroup__button"
                id="italic"
                tabIndex={-1}
                type="button"
              >
                <span
                  className="euiButton__content"
                >
                  <div
                    aria-hidden="true"
                    className="euiButton__icon"
                    data-euiicon-type="editorItalic"
                    size="m"
                  />
                  <span
                    className="euiButton__text"
                  >

                  </span>
                </span>
              </button>
            </div>
            <div
              className="euiToggle euiButtonToggle__wrapper euiButtonGroup__toggle"
            >
              <input
                aria-label="Underline"
                checked={false}
                className="euiToggle__input euiButtonToggle__input"
                onChange={[Function]}
                title="Underline"
                type="checkbox"
              />
              <button
                className="euiButton euiButton--text euiButton--small euiButtonToggle euiButtonToggle--isIconOnly euiButtonGroup__button"
                id="underline"
                tabIndex={-1}
                type="button"
              >
                <span
                  className="euiButton__content"
                >
                  <div
                    aria-hidden="true"
                    className="euiButton__icon"
                    data-euiicon-type="editorUnderline"
                    size="m"
                  />
                  <span
                    className="euiButton__text"
                  >

                  </span>
                </span>
              </button>
            </div>
          </div>
        </fieldset>
      </div>
      <div
        className="euiFlexItem euiFlexItem--flexGrowZero"
      >
        <fieldset
          className="euiButtonGroup__fieldset"
        >
          <div
            className="euiButtonGroup euiButtonGroup--compressed canvasSidebar__buttonGroup"
          >
            <div
              className="euiToggle euiToggle--checked euiButtonToggle__wrapper euiButtonGroup__toggle"
            >
              <input
                aria-label="Align left"
                checked={true}
                className="euiToggle__input euiButtonToggle__input"
                onChange={[Function]}
                title="Align left"
                type="radio"
              />
              <button
                className="euiButton euiButton--text euiButton--small euiButtonToggle euiButtonToggle--isIconOnly euiButtonGroup__button euiButtonGroup__button--selected"
                id="left"
                tabIndex={-1}
                type="button"
              >
                <span
                  className="euiButton__content"
                >
                  <div
                    aria-hidden="true"
                    className="euiButton__icon"
                    data-euiicon-type="editorAlignLeft"
                    size="m"
                  />
                  <span
                    className="euiButton__text"
                  >

                  </span>
                </span>
              </button>
            </div>
            <div
              className="euiToggle euiButtonToggle__wrapper euiButtonGroup__toggle"
            >
              <input
                aria-label="Align center"
                checked={false}
                className="euiToggle__input euiButtonToggle__input"
                onChange={[Function]}
                title="Align center"
                type="radio"
              />
              <button
                className="euiButton euiButton--text euiButton--small euiButtonToggle euiButtonToggle--isIconOnly euiButtonGroup__button"
                id="center"
                tabIndex={-1}
                type="button"
              >
                <span
                  className="euiButton__content"
                >
                  <div
                    aria-hidden="true"
                    className="euiButton__icon"
                    data-euiicon-type="editorAlignCenter"
                    size="m"
                  />
                  <span
                    className="euiButton__text"
                  >

                  </span>
                </span>
              </button>
            </div>
            <div
              className="euiToggle euiButtonToggle__wrapper euiButtonGroup__toggle"
            >
              <input
                aria-label="Align right"
                checked={false}
                className="euiToggle__input euiButtonToggle__input"
                onChange={[Function]}
                title="Align right"
                type="radio"
              />
              <button
                className="euiButton euiButton--text euiButton--small euiButtonToggle euiButtonToggle--isIconOnly euiButtonGroup__button"
                id="right"
                tabIndex={-1}
                type="button"
              >
                <span
                  className="euiButton__content"
                >
                  <div
                    aria-hidden="true"
                    className="euiButton__icon"
                    data-euiicon-type="editorAlignRight"
                    size="m"
                  />
                  <span
                    className="euiButton__text"
                  >

                  </span>
                </span>
              </button>
            </div>
          </div>
        </fieldset>
      </div>
    </div>
  </div>
</div>

    at match (/dev/shm/workspace/kibana/node_modules/@storybook/addon-storyshots/dist/test-bodies.js:25:20)
    at /dev/shm/workspace/kibana/node_modules/@storybook/addon-storyshots/dist/test-bodies.js:39:10
    at /dev/shm/workspace/kibana/node_modules/@storybook/addon-storyshots/dist/test-bodies.js:49:35
    at Object.<anonymous> (/dev/shm/workspace/kibana/node_modules/@storybook/addon-storyshots/dist/api/snapshotsTestsTemplate.js:44:33)
    at Promise (/dev/shm/workspace/kibana/node_modules/jest-circus/build/utils.js:198:28)
    at new Promise (<anonymous>)
    at callAsyncCircusFn (/dev/shm/workspace/kibana/node_modules/jest-circus/build/utils.js:162:10)
    at _callCircusTest (/dev/shm/workspace/kibana/node_modules/jest-circus/build/run.js:205:40)
    at process._tickCallback (internal/process/next_tick.js:68:7)

Kibana Pipeline / x-pack-intake-agent / X-Pack Jest Tests.x-pack/plugins/canvas/storybook.Storyshots components/TextStylePicker interactive

Link to Jenkins

Standard Out

Failed Tests Reporter:
  - Test has not failed recently on tracked branches


Stack Trace

Error: expect(received).toMatchSnapshot()

New snapshot was not written. The update flag must be explicitly passed to write a new snapshot.

This is likely because this test is run in a continuous integration (CI) environment in which snapshots are not written by default.

Received value 
<div
  style={
    Object {
      "width": 264,
    }
  }
>
  <div
    className="canvasTextStylePicker"
  >
    <div
      className="euiFlexGroup euiFlexGroup--gutterSmall euiFlexGroup--directionRow euiFlexGroup--responsive"
    >
      <div
        className="euiFlexItem"
      >
        <div
          className="euiPopover euiPopover--anchorDownCenter euiPopover--displayBlock euiSuperSelect"
          onKeyDown={[Function]}
          onMouseDown={[Function]}
          onMouseUp={[Function]}
          onTouchEnd={[Function]}
          onTouchStart={[Function]}
        >
          <div
            className="euiPopover__anchor"
          >
            <input
              type="hidden"
              value=""
            />
            <div
              className="euiFormControlLayout euiFormControlLayout--compressed"
            >
              <div
                className="euiFormControlLayout__childrenWrapper"
              >
                <span
                  className="euiScreenReaderOnly"
                  id="generated-id"
                >
                  Select an option: 
                  , is selected
                </span>
                <button
                  aria-haspopup="true"
                  aria-labelledby="undefined generated-id"
                  aria-selected={true}
                  className="euiSuperSelectControl euiSuperSelectControl--compressed"
                  onClick={[Function]}
                  onKeyDown={[Function]}
                  role="option"
                  type="button"
                />
                <div
                  className="euiFormControlLayoutIcons euiFormControlLayoutIcons--right"
                >
                  <span
                    className="euiFormControlLayoutCustomIcon"
                  >
                    <div
                      aria-hidden="true"
                      className="euiFormControlLayoutCustomIcon__icon"
                      data-euiicon-type="arrowDown"
                    />
                  </span>
                </div>
              </div>
            </div>
          </div>
        </div>
      </div>
      <div
        className="euiFlexItem euiFlexItem--flexGrowZero"
      >
        <div
          className="euiFormControlLayout euiFormControlLayout--compressed euiFormControlLayout--group"
        >
          <label
            className="euiFormLabel euiFormControlLayout__prepend"
          >
            Size
          </label>
          <div
            className="euiFormControlLayout__childrenWrapper"
          >
            <select
              className="euiSelect euiSelect--compressed euiSelect--inGroup"
              onChange={[Function]}
              onMouseUp={[Function]}
              value={14}
            >
              <option
                value={0}
              >
                0
              </option>
              <option
                value={6}
              >
                6
              </option>
              <option
                value={7}
              >
                7
              </option>
              <option
                value={8}
              >
                8
              </option>
              <option
                value={9}
              >
                9
              </option>
              <option
                value={10}
              >
                10
              </option>
              <option
                value={11}
              >
                11
              </option>
              <option
                value={12}
              >
                12
              </option>
              <option
                value={14}
              >
                14
              </option>
              <option
                value={16}
              >
                16
              </option>
              <option
                value={18}
              >
                18
              </option>
              <option
                value={24}
              >
                24
              </option>
              <option
                value={30}
              >
                30
              </option>
              <option
                value={36}
              >
                36
              </option>
              <option
                value={48}
              >
                48
              </option>
              <option
                value={60}
              >
                60
              </option>
              <option
                value={72}
              >
                72
              </option>
              <option
                value={96}
              >
                96
              </option>
            </select>
            <div
              className="euiFormControlLayoutIcons euiFormControlLayoutIcons--right"
            >
              <span
                className="euiFormControlLayoutCustomIcon"
              >
                <div
                  aria-hidden="true"
                  className="euiFormControlLayoutCustomIcon__icon"
                  data-euiicon-type="arrowDown"
                />
              </span>
            </div>
          </div>
        </div>
      </div>
    </div>
    <div
      className="euiSpacer euiSpacer--s"
    />
    <div
      className="euiFlexGroup euiFlexGroup--gutterSmall euiFlexGroup--alignItemsCenter euiFlexGroup--justifyContentFlexEnd euiFlexGroup--directionRow euiFlexGroup--responsive"
    >
      <div
        className="euiFlexItem euiFlexItem--flexGrowZero"
        style={
          Object {
            "fontSize": 0,
          }
        }
      >
        <div
          className="euiPopover euiPopover--anchorDownCenter"
          container={null}
          id="color-picker-popover"
          onKeyDown={[Function]}
          onMouseDown={[Function]}
          onMouseUp={[Function]}
          onTouchEnd={[Function]}
          onTouchStart={[Function]}
        >
          <div
            className="euiPopover__anchor"
          >
            <button
              aria-label="Font Color black"
              className="euiLink euiLink--primary"
              onClick={[Function]}
              style={
                Object {
                  "fontSize": 0,
                }
              }
              type="button"
            >
              <div
                className="canvasColorDot"
              >
                <div
                  className="canvasColorDot__background canvasCheckered"
                />
                <div
                  className="canvasColorDot__foreground"
                  style={Object {}}
                />
              </div>
            </button>
          </div>
        </div>
      </div>
      <div
        className="euiFlexItem euiFlexItem--flexGrowZero"
      >
        <fieldset
          className="euiButtonGroup__fieldset"
        >
          <div
            className="euiButtonGroup euiButtonGroup--compressed canvasSidebar__buttonGroup"
          >
            <div
              className="euiToggle euiButtonToggle__wrapper euiButtonGroup__toggle"
            >
              <input
                aria-label="Bold"
                checked={false}
                className="euiToggle__input euiButtonToggle__input"
                onChange={[Function]}
                title="Bold"
                type="checkbox"
              />
              <button
                className="euiButton euiButton--text euiButton--small euiButtonToggle euiButtonToggle--isIconOnly euiButtonGroup__button"
                id="bold"
                tabIndex={-1}
                type="button"
              >
                <span
                  className="euiButton__content"
                >
                  <div
                    aria-hidden="true"
                    className="euiButton__icon"
                    data-euiicon-type="editorBold"
                    size="m"
                  />
                  <span
                    className="euiButton__text"
                  >

                  </span>
                </span>
              </button>
            </div>
            <div
              className="euiToggle euiButtonToggle__wrapper euiButtonGroup__toggle"
            >
              <input
                aria-label="Italic"
                checked={false}
                className="euiToggle__input euiButtonToggle__input"
                onChange={[Function]}
                title="Italic"
                type="checkbox"
              />
              <button
                className="euiButton euiButton--text euiButton--small euiButtonToggle euiButtonToggle--isIconOnly euiButtonGroup__button"
                id="italic"
                tabIndex={-1}
                type="button"
              >
                <span
                  className="euiButton__content"
                >
                  <div
                    aria-hidden="true"
                    className="euiButton__icon"
                    data-euiicon-type="editorItalic"
                    size="m"
                  />
                  <span
                    className="euiButton__text"
                  >

                  </span>
                </span>
              </button>
            </div>
            <div
              className="euiToggle euiButtonToggle__wrapper euiButtonGroup__toggle"
            >
              <input
                aria-label="Underline"
                checked={false}
                className="euiToggle__input euiButtonToggle__input"
                onChange={[Function]}
                title="Underline"
                type="checkbox"
              />
              <button
                className="euiButton euiButton--text euiButton--small euiButtonToggle euiButtonToggle--isIconOnly euiButtonGroup__button"
                id="underline"
                tabIndex={-1}
                type="button"
              >
                <span
                  className="euiButton__content"
                >
                  <div
                    aria-hidden="true"
                    className="euiButton__icon"
                    data-euiicon-type="editorUnderline"
                    size="m"
                  />
                  <span
                    className="euiButton__text"
                  >

                  </span>
                </span>
              </button>
            </div>
          </div>
        </fieldset>
      </div>
      <div
        className="euiFlexItem euiFlexItem--flexGrowZero"
      >
        <fieldset
          className="euiButtonGroup__fieldset"
        >
          <div
            className="euiButtonGroup euiButtonGroup--compressed canvasSidebar__buttonGroup"
          >
            <div
              className="euiToggle euiToggle--checked euiButtonToggle__wrapper euiButtonGroup__toggle"
            >
              <input
                aria-label="Align left"
                checked={true}
                className="euiToggle__input euiButtonToggle__input"
                onChange={[Function]}
                title="Align left"
                type="radio"
              />
              <button
                className="euiButton euiButton--text euiButton--small euiButtonToggle euiButtonToggle--isIconOnly euiButtonGroup__button euiButtonGroup__button--selected"
                id="left"
                tabIndex={-1}
                type="button"
              >
                <span
                  className="euiButton__content"
                >
                  <div
                    aria-hidden="true"
                    className="euiButton__icon"
                    data-euiicon-type="editorAlignLeft"
                    size="m"
                  />
                  <span
                    className="euiButton__text"
                  >

                  </span>
                </span>
              </button>
            </div>
            <div
              className="euiToggle euiButtonToggle__wrapper euiButtonGroup__toggle"
            >
              <input
                aria-label="Align center"
                checked={false}
                className="euiToggle__input euiButtonToggle__input"
                onChange={[Function]}
                title="Align center"
                type="radio"
              />
              <button
                className="euiButton euiButton--text euiButton--small euiButtonToggle euiButtonToggle--isIconOnly euiButtonGroup__button"
                id="center"
                tabIndex={-1}
                type="button"
              >
                <span
                  className="euiButton__content"
                >
                  <div
                    aria-hidden="true"
                    className="euiButton__icon"
                    data-euiicon-type="editorAlignCenter"
                    size="m"
                  />
                  <span
                    className="euiButton__text"
                  >

                  </span>
                </span>
              </button>
            </div>
            <div
              className="euiToggle euiButtonToggle__wrapper euiButtonGroup__toggle"
            >
              <input
                aria-label="Align right"
                checked={false}
                className="euiToggle__input euiButtonToggle__input"
                onChange={[Function]}
                title="Align right"
                type="radio"
              />
              <button
                className="euiButton euiButton--text euiButton--small euiButtonToggle euiButtonToggle--isIconOnly euiButtonGroup__button"
                id="right"
                tabIndex={-1}
                type="button"
              >
                <span
                  className="euiButton__content"
                >
                  <div
                    aria-hidden="true"
                    className="euiButton__icon"
                    data-euiicon-type="editorAlignRight"
                    size="m"
                  />
                  <span
                    className="euiButton__text"
                  >

                  </span>
                </span>
              </button>
            </div>
          </div>
        </fieldset>
      </div>
    </div>
  </div>
</div>

    at match (/dev/shm/workspace/kibana/node_modules/@storybook/addon-storyshots/dist/test-bodies.js:25:20)
    at /dev/shm/workspace/kibana/node_modules/@storybook/addon-storyshots/dist/test-bodies.js:39:10
    at /dev/shm/workspace/kibana/node_modules/@storybook/addon-storyshots/dist/test-bodies.js:49:35
    at Object.<anonymous> (/dev/shm/workspace/kibana/node_modules/@storybook/addon-storyshots/dist/api/snapshotsTestsTemplate.js:44:33)
    at Promise (/dev/shm/workspace/kibana/node_modules/jest-circus/build/utils.js:198:28)
    at new Promise (<anonymous>)
    at callAsyncCircusFn (/dev/shm/workspace/kibana/node_modules/jest-circus/build/utils.js:162:10)
    at _callCircusTest (/dev/shm/workspace/kibana/node_modules/jest-circus/build/run.js:205:40)
    at process._tickCallback (internal/process/next_tick.js:68:7)

Kibana Pipeline / x-pack-intake-agent / X-Pack Jest Tests.x-pack/plugins/canvas/storybook.Storyshots components/Toolbar no element selected

Link to Jenkins

Standard Out

Failed Tests Reporter:
  - Test has not failed recently on tracked branches


Stack Trace

Error: expect(received).toMatchSnapshot()

New snapshot was not written. The update flag must be explicitly passed to write a new snapshot.

This is likely because this test is run in a continuous integration (CI) environment in which snapshots are not written by default.

Received value 
<div
  className="canvasToolbar hide-for-sharing"
>
  <div
    className="canvasToolbar__container"
  >
    <div
      className="euiFlexGroup euiFlexGroup--alignItemsCenter euiFlexGroup--directionRow euiFlexGroup--responsive canvasToolbar__controls"
    >
      <div
        className="euiFlexItem euiFlexItem--flexGrowZero"
      >
        <button
          className="euiButtonEmpty euiButtonEmpty--text"
          onClick={[Function]}
          type="button"
        >
          <span
            className="euiButtonEmpty__content"
          >
            <div
              aria-hidden="true"
              className="euiButtonEmpty__icon"
              data-euiicon-type="grid"
              size="m"
            />
            <span
              className="euiButtonEmpty__text"
            >
              My Canvas Workpad
            </span>
          </span>
        </button>
      </div>
      <div
        className="euiFlexItem euiFlexItem--flexGrowZero"
      />
      <div
        className="euiFlexItem euiFlexItem--flexGrowZero"
      >
        <button
          aria-label="Previous Page"
          className="euiButtonIcon euiButtonIcon--text"
          disabled={true}
          onClick={[Function]}
          type="button"
        >
          <div
            aria-hidden="true"
            className="euiButtonIcon__icon"
            data-euiicon-type="arrowLeft"
            size="m"
          />
        </button>
      </div>
      <div
        className="euiFlexItem euiFlexItem--flexGrowZero"
      >
        <button
          className="euiButtonEmpty euiButtonEmpty--text"
          onClick={[Function]}
          type="button"
        >
          <span
            className="euiButtonEmpty__content"
          >
            <span
              className="euiButtonEmpty__text"
            >
              Page 1
            </span>
          </span>
        </button>
      </div>
      <div
        className="euiFlexItem euiFlexItem--flexGrowZero"
      >
        <button
          aria-label="Next Page"
          className="euiButtonIcon euiButtonIcon--text"
          disabled={true}
          onClick={[Function]}
          type="button"
        >
          <div
            aria-hidden="true"
            className="euiButtonIcon__icon"
            data-euiicon-type="arrowRight"
            size="m"
          />
        </button>
      </div>
      <div
        className="euiFlexItem"
      />
    </div>
  </div>
</div>

    at match (/dev/shm/workspace/kibana/node_modules/@storybook/addon-storyshots/dist/test-bodies.js:25:20)
    at /dev/shm/workspace/kibana/node_modules/@storybook/addon-storyshots/dist/test-bodies.js:39:10
    at /dev/shm/workspace/kibana/node_modules/@storybook/addon-storyshots/dist/test-bodies.js:49:35
    at Object.<anonymous> (/dev/shm/workspace/kibana/node_modules/@storybook/addon-storyshots/dist/api/snapshotsTestsTemplate.js:44:33)
    at Promise (/dev/shm/workspace/kibana/node_modules/jest-circus/build/utils.js:198:28)
    at new Promise (<anonymous>)
    at callAsyncCircusFn (/dev/shm/workspace/kibana/node_modules/jest-circus/build/utils.js:162:10)
    at _callCircusTest (/dev/shm/workspace/kibana/node_modules/jest-circus/build/run.js:205:40)
    at process._tickCallback (internal/process/next_tick.js:68:7)

and 1 more failures, only showing the first 3.

Build metrics

async chunks size

id value diff baseline
canvas 1.5MB +207.0B 1.5MB

page load bundle size

id value diff baseline
canvas 1.4MB -740.0B 1.4MB

To update your PR or re-run it, just comment with:
@elasticmachine merge upstream

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
impact:medium Addressing this issue will have a medium level of impact on the quality/strength of our product. loe:small Small Level of Effort release_note:skip Skip the PR/issue when compiling release notes review Team:Presentation Presentation Team for Dashboard, Input Controls, and Canvas technical debt Improvement of the software architecture and operational architecture v7.10.0 v8.0.0
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants