diff --git a/src/base.js b/src/base.js index 4619078b1e..ec27409241 100644 --- a/src/base.js +++ b/src/base.js @@ -6,6 +6,7 @@ export default class Base extends Component { constructor(props) { super(props); + this.state = { hidden: false }; this.close = this.close.bind(this); } @@ -14,8 +15,10 @@ export default class Base extends Component { const element = this.refs.self; element.style.height = `${element.offsetHeight}px`; setTimeout(() => { - element.style.height = 0; - onClose(); + this.setState({ hidden: true }, () => { + element.style.height = 0; + onClose(); + }); }, 0); } @@ -28,11 +31,12 @@ export default class Base extends Component { header, locale, } = this.props; - + const { hidden } = this.state; return (
diff --git a/src/test/context-message-test.js b/src/test/context-message-test.js index 61deaf7ca5..60c2f59e67 100644 --- a/src/test/context-message-test.js +++ b/src/test/context-message-test.js @@ -56,9 +56,11 @@ describe('Test Base', () => { const onClickSpy = sinon.spy(); wrapper = mount(cloneElement(element, { onClose: onClickSpy })); wrapper.find('.ffe-context-message-content__close-button').simulate('click'); + const component = wrapper.find('.ffe-context-message'); + expect(component.props()['aria-hidden']).to.be(false); setTimeout(() => { - const component = wrapper.find('.ffe-context-message'); expect(component.get(0).style.getPropertyValue('height')).to.be('0px'); + expect(component.props()['aria-hidden']).to.be(true); expect(onClickSpy.calledOnce); done(); }, 100);