или через мок OrderModel, или через проверку базы (тестовой или тоже мокнутой)
 ✙ Nikita
                          🇺🇦🇵🇱🇱🇻🇱🇹🇪🇪🇺🇸🇬🇧🇨🇿🇫🇷🇩🇪🇮🇹🇧🇬🇹🇼🇯🇵🇰🇷🇹🇷🇪🇸🇬🇷
                        
                      
                    
                    
                    
                    
                      Автор вопроса
                      
                      
                        
                          ✙ Nikita
                          🇺🇦🇵🇱🇱🇻🇱🇹🇪🇪🇺🇸🇬🇧🇨🇿🇫🇷🇩🇪🇮🇹🇧🇬🇹🇼🇯🇵🇰🇷🇹🇷🇪🇸🇬🇷
                        
                      
                    
                    
                    
                    
                      Автор вопроса
                    
                    
                  А как мокнуть модель? Брать либу которая сам реквайр модифицирует?
jest умеет из коробки
А откуда функция compute?
 ✙ Nikita
                          🇺🇦🇵🇱🇱🇻🇱🇹🇪🇪🇺🇸🇬🇧🇨🇿🇫🇷🇩🇪🇮🇹🇧🇬🇹🇼🇯🇵🇰🇷🇹🇷🇪🇸🇬🇷
                        
                      
                    
                    
                    
                    
                      Автор вопроса
                      
                      
                        
                          ✙ Nikita
                          🇺🇦🇵🇱🇱🇻🇱🇹🇪🇪🇺🇸🇬🇧🇨🇿🇫🇷🇩🇪🇮🇹🇧🇬🇹🇼🇯🇵🇰🇷🇹🇷🇪🇸🇬🇷
                        
                      
                    
                    
                    
                    
                      Автор вопроса
                    
                    
                  Ну я этим имею ввиду что это не просто сохранение заказа в бд, а там какая то супер пупер сложная логика
 ✙ Nikita
                          🇺🇦🇵🇱🇱🇻🇱🇹🇪🇪🇺🇸🇬🇧🇨🇿🇫🇷🇩🇪🇮🇹🇧🇬🇹🇼🇯🇵🇰🇷🇹🇷🇪🇸🇬🇷
                        
                      
                    
                    
                    
                    
                      Автор вопроса
                      
                      
                        
                          ✙ Nikita
                          🇺🇦🇵🇱🇱🇻🇱🇹🇪🇪🇺🇸🇬🇧🇨🇿🇫🇷🇩🇪🇮🇹🇧🇬🇹🇼🇯🇵🇰🇷🇹🇷🇪🇸🇬🇷
                        
                      
                    
                    
                    
                    
                      Автор вопроса
                    
                    
                  Я в примере просто ее не указывал явно
Как предложили уже, мок бд в джест
 ✙ Nikita
                          🇺🇦🇵🇱🇱🇻🇱🇹🇪🇪🇺🇸🇬🇧🇨🇿🇫🇷🇩🇪🇮🇹🇧🇬🇹🇼🇯🇵🇰🇷🇹🇷🇪🇸🇬🇷
                        
                      
                    
                    
                    
                    
                      Автор вопроса
                      
                      
                        
                          ✙ Nikita
                          🇺🇦🇵🇱🇱🇻🇱🇹🇪🇪🇺🇸🇬🇧🇨🇿🇫🇷🇩🇪🇮🇹🇧🇬🇹🇼🇯🇵🇰🇷🇹🇷🇪🇸🇬🇷
                        
                      
                    
                    
                    
                    
                      Автор вопроса
                    
                    
                  Там можно любой реквайр замокать? Того же аксиоса, чтобы например проверить сервис работы со внешним апи
Получается, что джест умеет патчить require чтобы подменить моком
 ✙ Nikita
                          🇺🇦🇵🇱🇱🇻🇱🇹🇪🇪🇺🇸🇬🇧🇨🇿🇫🇷🇩🇪🇮🇹🇧🇬🇹🇼🇯🇵🇰🇷🇹🇷🇪🇸🇬🇷
                        
                      
                    
                    
                    
                    
                      Автор вопроса
                      
                      
                        
                          ✙ Nikita
                          🇺🇦🇵🇱🇱🇻🇱🇹🇪🇪🇺🇸🇬🇧🇨🇿🇫🇷🇩🇪🇮🇹🇧🇬🇹🇼🇯🇵🇰🇷🇹🇷🇪🇸🇬🇷
                        
                      
                    
                    
                    
                    
                      Автор вопроса
                    
                    
                  Отлично благодарю
да, любой. но вместо мока axios'а можно использовать вот эту штуку https://github.com/nock/nock
А зачем return await
чтобы в стектрейсе была указана функция
Это же javascript test?
 ✙ Nikita
                          🇺🇦🇵🇱🇱🇻🇱🇹🇪🇪🇺🇸🇬🇧🇨🇿🇫🇷🇩🇪🇮🇹🇧🇬🇹🇼🇯🇵🇰🇷🇹🇷🇪🇸🇬🇷
                        
                      
                    
                    
                    
                    
                      Автор вопроса
                      
                      
                        
                          ✙ Nikita
                          🇺🇦🇵🇱🇱🇻🇱🇹🇪🇪🇺🇸🇬🇧🇨🇿🇫🇷🇩🇪🇮🇹🇧🇬🇹🇼🇯🇵🇰🇷🇹🇷🇪🇸🇬🇷
                        
                      
                    
                    
                    
                    
                      Автор вопроса
                    
                    
                  Та не суть важно, я для примера накинул
это джава, это джава
С одной стороны да, но иначе почему в линтерах best practice не делать этого?
- если убрать эвейт, то мы не тратим лишний тик (а то и не один) на распаковку этого эвейта. - если эвейт оставить, то функция будет в стектрейсе. ну и выбирай что лучше. а авторы правил линтера могли и не учитывать оба варианта, или решить, что лучше выбрать предварительную микрооптимизацию
Так а в функции помимо возврата значения есть еще асинхронные вызовы и await'ы к ним, именно поэтому она асинхронная
если там async, то она и останется асинхронной
А я понял, то что нам приходится распаковать, а потом запаковать обратно и тратить на это тики ради попадания в стек трейс и => адекватного error лога.
речь про распаковку эвейта который в return await fn(
Ну, короче у нас отсутствует контакт
Обсуждают сегодня