Added tests to reducers/soapbox

preload
Curtis ROck 4 years ago
parent 5ea13bdd64
commit f205ff5334

@ -0,0 +1,55 @@
{
"configs": [
{
"group": ":pleroma",
"key": ":frontend_configurations",
"value": [
{
"tuple": [
":soapbox_fe",
{
"logo": "blob:http://localhost:3036/0cdfa863-6889-4199-b870-4942cedd364f",
"banner": "blob:http://localhost:3036/a835afed-6078-45bd-92b4-7ffd858c3eca",
"brandColor": "#254f92",
"customCss": [
"/instance/static/custom.css"
],
"promoPanel": {
"items": [
{
"icon": "globe",
"text": "blog",
"url": "https://teci.world/blog"
},
{
"icon": "globe",
"text": "book",
"url": "https://teci.world/book"
}
]
},
"extensions": {
"patron": false
},
"defaultSettings": {
"autoPlayGif": false
},
"navlinks": {
"homeFooter": [
{
"title": "about",
"url": "/instance/about/index.html"
},
{
"title": "tos",
"url": "/instance/about/tos.html"
}
]
}
}
]
}
]
}
]
}

@ -0,0 +1,40 @@
{
"logo": "blob:http://localhost:3036/0cdfa863-6889-4199-b870-4942cedd364f",
"banner": "blob:http://localhost:3036/a835afed-6078-45bd-92b4-7ffd858c3eca",
"brandColor": "#254f92",
"customCss": [
"/instance/static/custom.css"
],
"promoPanel": {
"items": [
{
"icon": "globe",
"text": "blog",
"url": "https://teci.world/blog"
},
{
"icon": "globe",
"text": "book",
"url": "https://teci.world/book"
}
]
},
"extensions": {
"patron": false
},
"defaultSettings": {
"autoPlayGif": false
},
"navlinks": {
"homeFooter": [
{
"title": "about",
"url": "/instance/about/index.html"
},
{
"title": "tos",
"url": "/instance/about/tos.html"
}
]
}
}

@ -1,32 +0,0 @@
import React from 'react';
import ImmutablePropTypes from 'react-immutable-proptypes';
import { acctFull } from 'soapbox/utils/accounts';
import StillImage from 'soapbox/components/still_image';
const BrandingPreview = ({ account }) => (
<div className='card h-card'>
<a target='_blank' rel='noopener' href={account.get('url')}>
<div className='card__img'>
<StillImage alt='' src={account.get('header')} />
</div>
<div className='card__bar'>
<div className='avatar'>
<StillImage alt='' className='u-photo' src={account.get('avatar')} width='48' height='48' />
</div>
<div className='display-name'>
<span style={{ display: 'none' }}>{account.get('username')}</span>
<bdi>
<strong className='emojify p-name'>{account.get('display_name')}</strong>
</bdi>
<span>{acctFull(account)}</span>
</div>
</div>
</a>
</div>
);
BrandingPreview.propTypes = {
account: ImmutablePropTypes.map,
};
export default BrandingPreview;

@ -160,6 +160,8 @@ class ConfigSoapbox extends ImmutablePureComponent {
this.state.customCssItems.forEach((f) =>
obj.configs[0].value[0].tuple[1].customCss.push(f)
);
console.log(JSON.stringify(obj, null, 2));
console.log(JSON.stringify(obj.configs[0].value[0].tuple[1], null, 2));
return obj;
}

@ -1,8 +1,44 @@
import reducer from '../soapbox';
import { Map as ImmutableMap } from 'immutable';
import * as actions from 'soapbox/actions/soapbox';
import soapbox from 'soapbox/__fixtures__/soapbox.json';
import frontend_config from 'soapbox/__fixtures__/admin_api_frontend_config.json';
describe('soapbox reducer', () => {
it('should return the initial state', () => {
expect(reducer(undefined, {})).toEqual(ImmutableMap());
});
it('should handle SOAPBOX_CONFIG_REQUEST_SUCCESS', () => {
const state = ImmutableMap({ brandColor: '#354e91' });
const action = {
type: actions.SOAPBOX_CONFIG_REQUEST_SUCCESS,
soapboxConfig: frontend_config,
};
expect(reducer(state, action).toJS()).toMatchObject({
brandColor: '#254f92',
});
});
it('should handle SOAPBOX_CONFIG_REQUEST_FAIL', () => {
const state = ImmutableMap({ skipAlert: false });
const action = {
type: actions.SOAPBOX_CONFIG_REQUEST_FAIL,
};
expect(reducer(state, action).toJS()).toMatchObject({
skipAlert: true,
});
});
it('should handle SOAPBOX_POST_SUCCESS', () => {
const state = ImmutableMap({ brandColor: '#354e91' });
const action = {
type: actions.SOAPBOX_POST_SUCCESS,
brandColor: soapbox.get('brandColor'),
};
expect(reducer(state, action).toJS()).toMatchObject({
brandColor: '#254f92',
});
});
});

Loading…
Cancel
Save