docbrown/app/javascript/listings/__tests__/Modal.test.jsx
Michael Kohl 09828853f6
✂✂✂ Remove Connect (#14734)
* Remove Connect

* Remove more Connect specs

* Remove a lot more Connect code

* 🚮

* It all has to go

* Explicitly add httpclient

* Update application layout

* Remove messages association from User

* Start fixing specs

* reintroduce util function and refactor references

* Remove Connect Cypress test

* Fix more specs

* Remove Connect from listings

* Ignore contact_via_connect column on listings

* Remove contact_via_connect usages

* Ignore mod_chat_channel_id on tags

* Drop Connect tables

* Remove email_connect_messages from user notification settings

* Re-add httpclient 2.8.3

This was mistakenly removed as a merge conflict

* Don't need to exclude removed chat channel file

* Remove unneeded style for chat channels

* Remove unneeded channel list prop type

* Remove chat channels index/connect-link from getPageEntries

* Re-add comment from httpclient in Gemfile

* Remove connect references from mailers

Tag Moderators no longer have a chat channel

No longer will users be notified about new messages (there won't be
any)

No longer will users be notified about channel invites (you can't
invite anyone anymore)

* Don't configure Pusher and remove PUSHER_* from .env_sample

since it's removed from gemfile, the Pusher constant will not resolve, if this is
configured in the environment variables we'll fail to boot.

Co-authored-by: Suzanne Aitchison <suzanne@forem.com>
Co-authored-by: Dan Uber <dan@forem.com>
2021-11-18 08:21:00 -06:00

67 lines
1.9 KiB
JavaScript

import { h } from 'preact';
import { render } from '@testing-library/preact';
import { axe } from 'jest-axe';
import { Modal } from '../components/Modal';
import '../../../assets/javascripts/utilities/localDateTime';
/* eslint-disable no-unused-vars */
/* global globalThis timestampToLocalDateTimeLong timestampToLocalDateTimeShort */
describe('<Modal />', () => {
afterAll(() => {
delete globalThis.timestampToLocalDateTimeLong;
delete globalThis.timestampToLocalDateTimeShort;
});
const getDefaultListing = () => ({
id: 22,
category: 'misc',
location: 'West Refugio',
processed_html:
'\u003cp\u003eEius et ullam. Dolores et qui. Quis \u003cstrong\u003equi\u003c/strong\u003e omnis.\u003c/p\u003e\n',
slug: 'illo-iure-quos-perspiciatis-5hk7',
title: 'Illo iure quos perspiciatis.',
bumped_at: '2020-09-06T14:15:02.977Z',
originally_published_at: '2020-09-06T14:15:02.977Z',
user_id: 7,
tags: ['go', 'git'],
author: {
name: 'Mrs. Yoko Christiansen',
username: 'mrschristiansenyoko',
profile_image_90:
'/uploads/user/profile_image/7/4b1c980a-beb0-4a5f-b3f2-acc91adc503c.png',
},
});
const getProps = () => ({
currentUserId: 1,
onAddTag: () => {
return 'onAddTag';
},
onChangeDraftingMessage: () => {
return 'onChangeDraftingMessage';
},
onClick: () => {
return 'OnClick';
},
onChangeCategory: () => {
return 'onChangeCategory';
},
onOpenModal: () => {
return 'onOpenModal';
},
onSubmit: () => {
return 'onSubmit;';
},
message: 'Something',
});
const renderModal = (listing) =>
render(<Modal {...getProps()} listing={listing} />);
it('should have no a11y violations', async () => {
const { container } = renderModal({ ...getDefaultListing() });
const results = await axe(container);
expect(results).toHaveNoViolations();
});
});