diff --git a/assets/js/src/newsletters/templates.jsx b/assets/js/src/newsletters/templates.jsx
index 4b5b601d5e..7166b6dd25 100644
--- a/assets/js/src/newsletters/templates.jsx
+++ b/assets/js/src/newsletters/templates.jsx
@@ -112,16 +112,17 @@ const templatesCategories = [
{
name: 'saved',
label: MailPoet.I18n.t('savedTemplates'),
- }
-]
+ },
+];
-const CategoryTab = ({name, label, selected, select}) =>
+const CategoryTab = ({ name, label, selected, select }) => (
select(name)}
> {label}
+);
const NewsletterTemplates = React.createClass({
getInitialState: function () {
@@ -158,13 +159,12 @@ const NewsletterTemplates = React.createClass({
];
}
- let templates = templatesCategories.reduce((result, {name}) => {
- result[name] = [];
- return result;
+ let templates = templatesCategories.reduce((result, { name }) => {
+ const obj = result;
+ obj[name] = [];
+ return obj;
}, {});
- console.log(response.data)
-
templates = response.data.reduce((result, item) => {
JSON.parse(item.categories).forEach((category) => {
result[category].push(item);
@@ -343,8 +343,8 @@ const NewsletterTemplates = React.createClass({
);
});
- if (templates.length == 0) {
- templates = {MailPoet.I18n.t('noTemplates')}
+ if (templates.length === 0) {
+ templates = {MailPoet.I18n.t('noTemplates')}
;
}
const boxClasses = classNames(
@@ -361,14 +361,14 @@ const NewsletterTemplates = React.createClass({
- {templatesCategories.map(({name, label}) =>
- (
+ this.setState({ selectedCategory: category })} />
- )}
+ ))}
diff --git a/tests/unit/API/JSON/v1/NewsletterTemplatesTest.php b/tests/unit/API/JSON/v1/NewsletterTemplatesTest.php
index 4606c739b0..f2c3ebfd12 100644
--- a/tests/unit/API/JSON/v1/NewsletterTemplatesTest.php
+++ b/tests/unit/API/JSON/v1/NewsletterTemplatesTest.php
@@ -102,9 +102,13 @@ class NewsletterTemplatesTest extends \MailPoetTest {
$template_data['body'] = json_decode($template_data['body'], true);
$normalize = function($array) {
- return array_filter($array, function($key) {
- return in_array($key, ['newsletter_id', 'name', 'description', 'body']);
- }, ARRAY_FILTER_USE_KEY);
+ $result = array();
+ foreach($array as $key => $value) {
+ if(in_array($key, ['newsletter_id', 'name', 'description', 'body'])) {
+ $result[$key] = $value;
+ }
+ }
+ return $result;
};
expect($normalize($response->data))->equals($template_data);