Я не использовал JEST в течение некоторого времени, но я думаю, что вам нужен «завершенный» обратный вызов для асинхронного кода.
Ваш код должен быть:
test("Should decrease the stock by a default of 1", async (done) => {
try {
localProduct.reduceStock();
await localProduct.save();
done();
} catch (e) {
console.log("error in saving localProduct", e);
}
expect(localProduct.stock.amount).toEqual(4);
});
Если это так не работает, попытайтесь вернуть документ.
await localProduct.save();
должен быть
return await localProduct.save();
Как сказал Джо Паттен, панды упрощают работу, вы можете конвертировать свой словарь в информационный фрейм, делать свои вещи и затем преобразовывать их обратно в словарь, если хотите:
import pandas as pd
from sklearn.preprocessing import MinMaxScaler
ser = pd.Series(METTS_MARK) #I am using your METTS_MARK
ser.replace('NaN',0,inplace=True)
ser.drop(index="email_address",inplace=True) #to make everything numerical so we can scale, you can add it back later
df = pd.DataFrame(ser)
scaler = MinMaxScaler()
df[0] = scaler.fit_transform(df)
после того, как вы закончите :
newDict = df[0].to_dict()