diff --git a/test/end-to-end/issue-31/input.tsx b/test/end-to-end/issue-31/input.tsx
new file mode 100644
index 0000000..95937ec
--- /dev/null
+++ b/test/end-to-end/issue-31/input.tsx
@@ -0,0 +1,54 @@
+import React from 'react';
+import { PropTypes } from 'prop-types';
+import './_campaign-cart.scss';
+
+const CampaignCart = ({ campaign }) =>
+
+
+ Campaign cart
+
+
+ Total campaign cost overview
+
+
+
+
+
+
+ Campaign type |
+ {campaign.type} |
+
+
+ Audience size |
+ {campaign.type} |
+
+
+ Cost per profile |
+ {campaign.type} |
+
+
+ Sub total |
+ {campaign.type} |
+
+
+ GST |
+ {campaign.type} |
+
+
+ TOTAL COST |
+ {campaign.type} |
+
+
+
+
Checkout
+
;
+
+CampaignCart.propTypes = {
+ campaign: PropTypes.shape({
+ type: PropTypes.string.isRequired,
+ stars: PropTypes.number.isRequired,
+ completed: PropTypes.number.isRequired
+ })
+};
+
+export default CampaignCart;
diff --git a/test/end-to-end/issue-31/output.tsx b/test/end-to-end/issue-31/output.tsx
new file mode 100644
index 0000000..f1f8813
--- /dev/null
+++ b/test/end-to-end/issue-31/output.tsx
@@ -0,0 +1,51 @@
+import React from 'react';
+import './_campaign-cart.scss';
+type CampaignCartProps = {
+ campaign?: {
+ type: string,
+ stars: number,
+ completed: number,
+ },
+};
+const CampaignCart: React.SFC = ({ campaign }) => (
+
+
Campaign cart
+
Total campaign cost overview
+
+
+
+
+
+ Campaign type |
+ {campaign.type} |
+
+
+ Audience size |
+ {campaign.type} |
+
+
+ Cost per profile |
+ {campaign.type} |
+
+
+ Sub total |
+ {campaign.type} |
+
+
+ GST |
+ {campaign.type} |
+
+
+
+ TOTAL COST
+ |
+ {campaign.type} |
+
+
+
+
+ Checkout
+
+
+);
+export default CampaignCart;