Как проверить состояние с помощью Jest в приложении React-Native - PullRequest
0 голосов
/ 21 ноября 2018

Я должен протестировать эту строку условий, но я понятия не имею, как я могу это сделать, все, что я пытаюсь сделать, дает ошибку или не меняет мой тест покрытия процентами.В основном, если нет порядка, оно должно появиться сообщение ('There is no orders') на другом экране (в списке), или оно должно появиться ('Received orders').

Это конкретное условие, если вы можете мне помочь:

       .then((responseJson) => {
          if (responseJson.length == 0) {
            this.setState({ received_order_message: 'There is no orders' });
          }
          else {
            this.setState({ received_order_message: 'There is orders' });
          }
      })

Вот часть кода интереса:

class OrderedProducts extends Component {
    constructor(props) {
      super(props);
      this.state = {
          orders: [''],
          buyer_orders: [''],
          refreshing: false,
          my_order_message: 'My orders',
          received_order_message: 'Received orders',
      };
    }

    componentDidMount(){
        this.loadOrders();
    }

    loadOrders = async () => {
      const {state} = this.props.navigation;
      var token = state.params ? state.params.token : undefined;
      var user = jwt_decode(token);

      const orders_screen_path = `${process.env.ORDERS}/api/orders_screen/`;

      fetch(orders_screen_path, {
          method: 'POST',
          headers: {
              'Content-Type': 'application/json',
          },
          body: JSON.stringify({
          'user_id': user.user_id,
          'token': token,
        }),
      })
      .then((response) => response.json())
      .then((responseJson) => {
          console.log(responseJson);
          if (responseJson.length == 0) {
            this.setState({ received_order_message: 'There is no orders' });
          }
          else {
            this.setState({ received_order_message: 'There is orders' });
          }
          if (responseJson.length > 1) {
            responseJson.sort((order1, order2) => {
              return (order1.date - order2.date);
            }).reverse();
          }
          this.setState({ orders: responseJson });
      })
      .catch((error) => {
          console.error(error);
      });

Спасибо.

...