From b5c95c537c6cefb3e36eac8b82625565a5152a8a Mon Sep 17 00:00:00 2001 From: "Michael S. Molina" <70410625+michael-s-molina@users.noreply.github.com> Date: Wed, 7 Apr 2021 18:40:24 -0300 Subject: [PATCH] test: Adds tests to the CssEditor component (#13933) --- .../dashboard/components/CssEditor_spec.jsx | 40 -------- .../components/CssEditor/CssEditor.test.tsx | 91 +++++++++++++++++++ .../{CssEditor.jsx => CssEditor/index.jsx} | 1 - 3 files changed, 91 insertions(+), 41 deletions(-) delete mode 100644 superset-frontend/spec/javascripts/dashboard/components/CssEditor_spec.jsx create mode 100644 superset-frontend/src/dashboard/components/CssEditor/CssEditor.test.tsx rename superset-frontend/src/dashboard/components/{CssEditor.jsx => CssEditor/index.jsx} (99%) diff --git a/superset-frontend/spec/javascripts/dashboard/components/CssEditor_spec.jsx b/superset-frontend/spec/javascripts/dashboard/components/CssEditor_spec.jsx deleted file mode 100644 index 62460d04e5d..00000000000 --- a/superset-frontend/spec/javascripts/dashboard/components/CssEditor_spec.jsx +++ /dev/null @@ -1,40 +0,0 @@ -/** - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -import React from 'react'; -import { mount } from 'enzyme'; -import { supersetTheme, ThemeProvider } from '@superset-ui/core'; -import CssEditor from 'src/dashboard/components/CssEditor'; - -describe('CssEditor', () => { - const mockedProps = { - triggerNode: , - }; - it('is valid', () => { - expect(React.isValidElement()).toBe(true); - }); - it('renders the trigger node', () => { - const wrapper = mount(, { - wrappingComponent: ThemeProvider, - wrappingComponentProps: { - theme: supersetTheme, - }, - }); - expect(wrapper.find('.fa-edit')).toExist(); - }); -}); diff --git a/superset-frontend/src/dashboard/components/CssEditor/CssEditor.test.tsx b/superset-frontend/src/dashboard/components/CssEditor/CssEditor.test.tsx new file mode 100644 index 00000000000..86730fedebe --- /dev/null +++ b/superset-frontend/src/dashboard/components/CssEditor/CssEditor.test.tsx @@ -0,0 +1,91 @@ +/** + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +import React from 'react'; +import { render, screen } from 'spec/helpers/testing-library'; +import { CssEditor as AceCssEditor } from 'src/components/AsyncAceEditor'; +import { AceEditorProps } from 'react-ace'; +import userEvent from '@testing-library/user-event'; +import CssEditor from '.'; + +jest.mock('src/components/AsyncAceEditor', () => ({ + CssEditor: ({ value, onChange }: AceEditorProps) => ( +