mirror of
https://github.com/shlinkio/shlink-web-client.git
synced 2026-04-19 13:06:22 +00:00
Setup tests environment
This commit is contained in:
@@ -1,9 +0,0 @@
|
||||
import React from 'react';
|
||||
import ReactDOM from 'react-dom';
|
||||
import App from './App';
|
||||
|
||||
it('renders without crashing', () => {
|
||||
const div = document.createElement('div');
|
||||
ReactDOM.render(<App />, div);
|
||||
ReactDOM.unmountComponentAtNode(div);
|
||||
});
|
||||
@@ -1,5 +1,9 @@
|
||||
import { combineReducers } from 'redux';
|
||||
|
||||
const rootReducer = combineReducers({});
|
||||
import serversReducer from './servers';
|
||||
|
||||
const rootReducer = combineReducers({
|
||||
servers: serversReducer
|
||||
});
|
||||
|
||||
export default rootReducer;
|
||||
|
||||
15
src/reducers/servers.js
Normal file
15
src/reducers/servers.js
Normal file
@@ -0,0 +1,15 @@
|
||||
const FETCH_SERVERS = 'shlink/FETCH_SERVERS';
|
||||
const CREATE_SERVER = 'shlink/FETCH_SERVERS';
|
||||
|
||||
export default function serversReducer(state = [{ name: 'bar' }], action) {
|
||||
switch (action.type) {
|
||||
case FETCH_SERVERS:
|
||||
return action.servers;
|
||||
case CREATE_SERVER:
|
||||
return [ ...state, action.server ];
|
||||
}
|
||||
|
||||
return state;
|
||||
}
|
||||
|
||||
|
||||
@@ -2,7 +2,19 @@ import React from 'react';
|
||||
import { DropdownItem, DropdownMenu, DropdownToggle, UncontrolledDropdown } from 'reactstrap';
|
||||
import { connect } from 'react-redux';
|
||||
|
||||
class ServersDropdown extends React.Component {
|
||||
export class ServersDropdown extends React.Component {
|
||||
renderServers = () => {
|
||||
return this.props.servers.map(server => (
|
||||
<DropdownItem key={server.name} onClick={() => this.selectServer(server)}>
|
||||
{server.name}
|
||||
</DropdownItem>
|
||||
));
|
||||
};
|
||||
|
||||
selectServer = server => {
|
||||
// TODO
|
||||
};
|
||||
|
||||
render() {
|
||||
return (
|
||||
<UncontrolledDropdown nav>
|
||||
@@ -11,16 +23,15 @@ class ServersDropdown extends React.Component {
|
||||
</DropdownToggle>
|
||||
|
||||
<DropdownMenu>
|
||||
<DropdownItem>
|
||||
Server 1 foo
|
||||
</DropdownItem>
|
||||
<DropdownItem>
|
||||
Server 2 foo
|
||||
</DropdownItem>
|
||||
{this.renderServers()}
|
||||
</DropdownMenu>
|
||||
</UncontrolledDropdown>
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
export default connect()(ServersDropdown);
|
||||
const mapStateToProps = state => ({
|
||||
servers: state.servers
|
||||
});
|
||||
|
||||
export default connect(mapStateToProps)(ServersDropdown);
|
||||
|
||||
Reference in New Issue
Block a user