@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
JSX
;
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);
});
});