mirror of
https://github.com/oceanprotocol/market.git
synced 2024-12-02 05:57:29 +01:00
* add cookie utils * add gdpr metadata for ppc * add graphql typeDefs for GDPR metadata * add ppc variable to app config * add ppc user preference * add switch component * add ppc components * add cookie consent provider * add consent provider to wrapRootElement * add ppc to app component * add cookie button to footer component * add ppc to site metadata query * add styles for buttons in footer * add switch component unit tests * renewed siteMetadata json for testing * add gdpr metadata for testing * add cookie module unit test * add cookie module tests * add customizable format to time component * add english privacy policy * add privacy policy slugs to user preferences and appConfig * add privacy policy components * add autolink for policy md navigation * only show language select for multiple policies * add gatsby policy page creation * use new privacy slug user preference * add to top button styling for markdown pages * add policies for de, es & fr * add pointer events to toTop buttons css * add privacy policy basic unit test * outsource scroll button component * import cleanup * add customizable delay for debounce * add scroll button unit tests * add disclaimer component * add disclaimer fields as optional fields in PublishJsonData * add acces type disclaimer * adjusted help for desc and author fields * add disclaimer unit tests * minor adjustment to test * add print button to history page * naming changes for better readability * add cookies hash to policies * ppc disabled per default * fix react unknown prop for disclaimer * minor adjustments to cookie utils * add gdpr example file * change exposed gdpr metadata scope by useConsent * update README * readme fixes * emoji fix * added imprint * adjustments to gdpr.json structure and related graphql type * add default values for ppc * Update app.config.js Fixed typo. * change variable name for consistency, remove console logs * readability * adjust css selector order to be consistent * Update fr.md updated policy * Update es.md updated policy * Update en.md updated policy * Update de.md * fix type issue * replace language select input with links * remove scroll button from codebase * change privacy policy route to /privacy * remove Do Not Track detection * add size to checkbox / radio inputs * replace switch component with checkbox inputs * fix plain text links * remove console log * refactor privacy policy pages to use PageMarkdown template * setup useUserPreferences mock for unit tests * unit tests forprivacy policy components * setup discalimer to use alert component * Apply .env suggestions from code review Co-authored-by: Jamie Hewitt <jamie.hewitt15@gmail.com> * move gdpr example to gdpr.json * adjustments to address .env approach for appConfig.privacyPreferenceCenter * update readme * add small styling option to ppc * update README * add ppc unit tests * update comments * Update README.md Co-authored-by: Jamie Hewitt <jamie.hewitt15@gmail.com> * Merge print into profile history * add inifiniteApproval to UserPreference fixture * changed default styling of PPC to small Co-authored-by: Frederic Schwill <41265505+fr-3deric@users.noreply.github.com> Co-authored-by: MeikeMolitor <88214332+MeikeMolitor@users.noreply.github.com> Co-authored-by: Jamie Hewitt <jamie.hewitt15@gmail.com>
61 lines
1.8 KiB
TypeScript
61 lines
1.8 KiB
TypeScript
import React from 'react'
|
|
import { fireEvent, render, screen } from '@testing-library/react'
|
|
import CookieModule, {
|
|
CookieModuleProps
|
|
} from '../../../src/components/molecules/CookieModule'
|
|
import CookieConsent, {
|
|
ConsentContext,
|
|
ConsentProviderValue,
|
|
CookieConsentStatus
|
|
} from '../../../src/providers/CookieConsent'
|
|
import { useGdprMetadata } from '../../../src/hooks/useGdprMetadata'
|
|
|
|
const cookieProps: CookieModuleProps = {
|
|
title: 'Title',
|
|
desc: 'Description',
|
|
cookieName: 'CookieName'
|
|
}
|
|
|
|
jest.resetModules()
|
|
|
|
describe('CookieModule', () => {
|
|
it('renders correctly without crashing', () => {
|
|
const { container } = render(
|
|
<CookieConsent>
|
|
<CookieModule {...cookieProps} />
|
|
</CookieConsent>
|
|
)
|
|
|
|
const moduleWrapper = container.querySelector('.wrapper')
|
|
const moduleHeader = moduleWrapper.querySelector('.header')
|
|
const moduleSwitch = moduleWrapper.querySelector('.switch')
|
|
const moduleDesc = moduleWrapper.querySelector('.description')
|
|
|
|
expect(moduleWrapper).toBeInTheDocument()
|
|
expect(moduleHeader).toBeInTheDocument()
|
|
expect(moduleSwitch).toBeInTheDocument()
|
|
expect(moduleDesc).toBeInTheDocument()
|
|
})
|
|
|
|
const cookieConsentStatusApproved = {
|
|
[cookieProps.cookieName]: CookieConsentStatus.APPROVED
|
|
}
|
|
const testValue: ConsentProviderValue = {
|
|
cookies: useGdprMetadata().optionalCookies,
|
|
cookieConsentStatus: cookieConsentStatusApproved,
|
|
setConsentStatus: jest.fn(),
|
|
resetConsentStatus: jest.fn()
|
|
}
|
|
|
|
it('initializes switch correctly', () => {
|
|
// CookieConsentStatus not available
|
|
const { container } = render(
|
|
<ConsentContext.Provider value={testValue}>
|
|
<CookieModule {...cookieProps} />
|
|
</ConsentContext.Provider>
|
|
)
|
|
const switchInput = container.querySelector('input')
|
|
expect(switchInput).toHaveProperty('checked', true)
|
|
})
|
|
})
|