All files / src/containers RecommContainer.jsx

53.33% Statements 8/15
60% Branches 6/10
33.33% Functions 2/6
61.54% Lines 8/13
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44                  1x 1x           1x 1x                   1x     1x       4x       4x          
import React, { Component } from "react";
import Recommendations from "../components/Recommendations";
import { connect } from "react-redux";
import Progress from "../components/Progress";
import { Redirect } from "react-router-dom";
import { recommendations } from "../redux/actions";
 
export class RecommContainer extends Component {
  constructor(props) {
    super(props);
    this.handleAlbumClick = this.handleAlbumClick.bind(this);
  }
  handleAlbumClick(album) {
    this.props.fetchRecommendations(album);
  }
  render() {
    const { recommendations } = this.props;
    Iif (recommendations && recommendations.results) {
      if (recommendations.results.tracks) {
        return (
          <Recommendations
            tracks={recommendations.results.tracks}
            album={recommendations.album}
            handleClick={this.handleAlbumClick}
          />
        );
      }
    } else Iif (recommendations && recommendations.loading) {
      return <Progress status="loading..." />;
    }
    return <Redirect to={process.env.PUBLIC_URL + "/"} />;
  }
}
 
const mapStateToProps = state => ({
  recommendations: state.recommendations
});
 
const mapDispatchToProps = dispatch => ({
  fetchRecommendations: album => dispatch(recommendations({ album: album }))
});
 
export default connect(mapStateToProps, mapDispatchToProps)(RecommContainer);