test: fixed test cases post mathjax-v3 merge

This commit is contained in:
Mehak Nasir
2023-01-27 19:31:40 +05:00
parent 569ce49801
commit d2b2a2aff9
8 changed files with 61 additions and 50 deletions

View File

@@ -10,14 +10,17 @@ const defaultSanitizeOptions = {
ADD_ATTR: ['columnalign'],
};
function HTMLLoader({ htmlNode, componentId, cssClassName }) {
function HTMLLoader({
htmlNode, componentId, cssClassName, testId,
}) {
const sanitizedMath = DOMPurify.sanitize(htmlNode, { ...defaultSanitizeOptions });
const previewRef = useRef();
useEffect(() => {
let promise = Promise.resolve(); // Used to hold chain of typesetting calls
function typeset(code) {
promise = promise.then(() => window.MathJax.typesetPromise(code()))
promise = promise.then(() => window.MathJax?.typesetPromise(code()))
.catch((err) => logError(`Typeset failed: ${err.message}`));
return promise;
}
@@ -25,10 +28,10 @@ function HTMLLoader({ htmlNode, componentId, cssClassName }) {
typeset(() => {
previewRef.current.innerHTML = sanitizedMath;
});
}, [sanitizedMath]);
}, [htmlNode]);
return (
<div ref={previewRef} className={cssClassName} id={componentId} />
<div ref={previewRef} className={cssClassName} id={componentId} data-testid={testId} />
);
}
@@ -37,12 +40,14 @@ HTMLLoader.propTypes = {
htmlNode: PropTypes.node,
componentId: PropTypes.string,
cssClassName: PropTypes.string,
testId: PropTypes.string,
};
HTMLLoader.defaultProps = {
htmlNode: '',
componentId: null,
cssClassName: '',
testId: '',
};
export default HTMLLoader;

View File

@@ -29,7 +29,7 @@ function PostPreviewPane({
className="float-right p-3"
iconClassNames="icon-size"
/>
<HTMLLoader htmlNode={htmlNode} cssClassName="text-primary" componentId="post-preview" />
<HTMLLoader htmlNode={htmlNode} cssClassName="text-primary" componentId="post-preview" testId="post-preview" />
</div>
)}
<div className="d-flex justify-content-end">