// Copyright (c) 2015-present Mattermost, Inc. All Rights Reserved. // See LICENSE.txt for license information. import React from 'react'; import {shallow} from 'enzyme'; import {MAX_ATTACHMENT_FOOTER_LENGTH} from 'app/constants/attachment'; import AttachmentFooter from './attachment_footer'; import Preferences from '@mm-redux/constants/preferences'; describe('AttachmentFooter', () => { const baseProps = { text: 'This is the footer!', icon: 'https://images.com/image.png', theme: Preferences.THEMES.default, }; test('it matches snapshot when no footer is provided', () => { const props = { ...baseProps, text: undefined, icon: undefined, }; const wrapper = shallow(); expect(wrapper).toMatchSnapshot(); }); test('it matches snapshot when footer text is provided', () => { const props = { ...baseProps, icon: undefined, }; const wrapper = shallow(); expect(wrapper).toMatchSnapshot(); }); test('it matches snapshot when only the footer icon is provided', () => { const props = { ...baseProps, text: undefined, }; const wrapper = shallow(); expect(wrapper).toMatchSnapshot(); }); test('it matches snapshot when both footer and footer_icon are provided', () => { const wrapper = shallow(); expect(wrapper).toMatchSnapshot(); }); test('it matches snapshot when the footer is longer than the maximum length', () => { const props = { ...baseProps, text: 'a'.repeat(MAX_ATTACHMENT_FOOTER_LENGTH + 1), }; const wrapper = shallow(); expect(wrapper).toMatchSnapshot(); }); });