Я должен протестировать эту строку условий, но я понятия не имею, как я могу это сделать, все, что я пытаюсь сделать, дает ошибку или не меняет мой тест покрытия процентами.В основном, если нет порядка, оно должно появиться сообщение ('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);
});
Спасибо.