Проблема в этих двух строках:
o.setProperty("amount",8000);
QVERIFY(o.property("amount").toInt() == 8000);
Сначала вы создаете QVariant из int, а ваша функция свойства, которая принимает MoneyTst, даже не вызывается. Затем вы пытаетесь преобразовать тип MoneyTst (хранящийся в QVariant) в int, но это не удается. Система свойств на основе QVariant требует явного преобразования типов для пользовательских типов.
Вы должны изменить свой код следующим образом:
o.setProperty("amount", QVariant::fromValue(MonetTst{8000}));
QVERIFY(o.property("amount").value<MoneyTst>().getValue() == 8000);