diff --git a/test/components/connect.spec.js b/test/components/connect.spec.js
index 89ca687b7..82edb12c0 100644
--- a/test/components/connect.spec.js
+++ b/test/components/connect.spec.js
@@ -469,6 +469,53 @@ describe('React', () => {
expect(invocationCount).toEqual(2)
})
+ it('should invoke mapState every time props are changed if it has zero arguments', () => {
+ const store = createStore(stringBuilder)
+
+ let invocationCount = 0
+
+ @connect(() => {
+ invocationCount++
+ return {}
+ })
+
+ class WithoutProps extends Component {
+ render() {
+ return
+ }
+ }
+
+ class OuterComponent extends Component {
+ constructor() {
+ super()
+ this.state = { foo: 'FOO' }
+ }
+
+ setFoo(foo) {
+ this.setState({ foo })
+ }
+
+ render() {
+ return (
+
+
+
+ )
+ }
+ }
+
+ let outerComponent
+ TestUtils.renderIntoDocument(
+
+ outerComponent = c} />
+
+ )
+ outerComponent.setFoo('BAR')
+ outerComponent.setFoo('DID')
+
+ expect(invocationCount).toEqual(4)
+ })
+
it('should invoke mapState every time props are changed if it has a second argument', () => {
const store = createStore(stringBuilder)
@@ -570,6 +617,54 @@ describe('React', () => {
expect(invocationCount).toEqual(1)
})
+ it('should invoke mapDispatch every time props are changed if it has zero arguments', () => {
+ const store = createStore(stringBuilder)
+
+ let invocationCount = 0
+
+ @connect(null, () => {
+ invocationCount++
+ return {}
+ })
+
+ class WithoutProps extends Component {
+ render() {
+ return
+ }
+ }
+
+ class OuterComponent extends Component {
+ constructor() {
+ super()
+ this.state = { foo: 'FOO' }
+ }
+
+ setFoo(foo) {
+ this.setState({ foo })
+ }
+
+ render() {
+ return (
+
+
+
+ )
+ }
+ }
+
+ let outerComponent
+ TestUtils.renderIntoDocument(
+
+ outerComponent = c} />
+
+ )
+
+ outerComponent.setFoo('BAR')
+ outerComponent.setFoo('DID')
+
+ expect(invocationCount).toEqual(3)
+ })
+
it('should invoke mapDispatch every time props are changed if it has a second argument', () => {
const store = createStore(stringBuilder)