UNPKG

@financial-times/n-conversion-forms

Version:

Containing jsx components and styles for forms included on Accounts and Acquisition apps (next-signup, next-profile, next-retention, etc).

40 lines (39 loc) 1.75 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); var _react = _interopRequireDefault(require("react")); var _enzyme = require("enzyme"); var _index = require("./index"); describe('AcceptTermsPrivacyPolicy', function () { it('renders with "o-forms-input--invalid" class when hasError prop is true', function () { var props = { hasError: true }; var component = (0, _enzyme.mount)( /*#__PURE__*/_react["default"].createElement(_index.AcceptTermsBusiness, props)); var labelElement = component.find('label'); expect(labelElement.hasClass('o-forms-input--invalid')).toBe(true); }); it('renders the B2B terms when isB2b prop is true', function () { var props = { isB2b: true }; var component = (0, _enzyme.mount)( /*#__PURE__*/_react["default"].createElement(_index.AcceptTermsBusiness, props)); var b2bTerms = component.find('.terms-b2b'); expect(b2bTerms.exists()).toBe(true); }); it('renders the external link with target="_blank" when isEmbedded prop is false', function () { var props = { isEmbedded: false }; var component = (0, _enzyme.mount)( /*#__PURE__*/_react["default"].createElement(_index.AcceptTermsBusiness, props)); var externalLink = component.find('[data-trackable="terms-and-conditions"]'); expect(externalLink.prop('target')).toBe('_blank'); }); it('renders the trial terms when isTrial prop is true', function () { var props = { isTrial: true }; var component = (0, _enzyme.mount)( /*#__PURE__*/_react["default"].createElement(_index.AcceptTermsBusiness, props)); var trialTerms = component.find('.terms-corp-signup'); expect(trialTerms.exists()).toBe(true); }); });