Попытка специально получить неправильный параметр в модульном тестировании django
В рамках курса управления проектами я и мои партнеры создаем сайт для имитации покупки и продажи акций, и мы используем API yahoo finance для получения акций и их деталей, и мы разрабатываем его на Django.
В модульном тестировании я специально отправляю неправильное название акции в систему поиска, чтобы проверить, действительно ли она показывает сообщение "Неправильное название акции", я делаю это с помощью отправки POST запроса с неправильным названием акции, и в результате конкретный модульный тест не работает.
Как я могу это проверить?
код модульного теста:
def test_Customer_wrong_stock(self):
response = self.client.post(reverse('AgentSignUp:Search_Stock_cust'), data={
'searchStock':'badStock'})
self.assertEqual(response.status_code,200)
и функция просмотра для поиска:
def SearchStock(response):
if response.method == "POST":
try:
stockTicker = response.POST.get('searchStock')
stock = yf.Ticker(stockTicker)
stockData = stock.history(period="4y")
stockData['Close'].plot(title=f"{stockTicker} stock price (in USD)")
graph = plt.gcf()
buf = io.BytesIO()
graph.savefig(buf,format='png')
buf.seek(0)
string = base64.b64encode(buf.read())
uri = urllib.parse.quote(string)
graph = stockData['Close']
price = stock.info['regularMarketPrice']
symbol = stock.info['symbol']
recom = stock.info['recommendationKey']
website = stock.info['website']
return render(response, "stock_view.html", {"price": price, "ticker": symbol, "recom": recom, "website": website, "graph": uri})
except:
messages.error(response, f"Stock named {stockTicker} doesn't found or not exists")
if response.user.is_Customer:
return redirect('/customer_homepage')
elif response.user.is_Agent:
return redirect('/agent_homepage.html')
elif response.user.is_Admin:
return redirect('/admin_homepage.html')
else:
if response.user.is_Customer:
return redirect('/customer_homepage')
elif response.user.is_Agent:
return redirect('/agent_homepage.html')
elif response.user.is_Admin:
return redirect('/admin_homepage.html')
Что я получаю в качестве сообщения об ошибке в BADSTOCK: No data found, symbol may be delisted