public void Init() { _dao = new EthereumTransactionDao(); _contractMock = new Mock <IContract>(); _dao.Contract = _contractMock.Object; _dao.TransactionContract = _contractMock.Object; _functionMock = new Mock <IFunction>(); var addresses = new List <string> { "address1" }; _contractMock.Setup(m => m.GetFunction("getTransactions")).Returns(_functionMock.Object); _contractMock.Setup(m => m.GetFunction("getUserTransactions")).Returns(_functionMock.Object); _contractMock.Setup(m => m.GetFunction("addTransaction")).Returns(_functionMock.Object); _functionMock.Setup(m => m.CallAsync <List <string> >(1234)).Returns(Task.FromResult(addresses)); _functionMock.Setup(m => m.CallAsync <List <string> >("username")).Returns(Task.FromResult(addresses)); var getBatchIdFunctionMock = new Mock <IFunction>(); getBatchIdFunctionMock.Setup(m => m.CallAsync <int>()).Returns(Task.FromResult(3241)); _contractMock.Setup(m => m.GetFunction("getBatchID")) .Returns(getBatchIdFunctionMock.Object); var getTransactionIdFunctionMock = new Mock <IFunction>(); getTransactionIdFunctionMock.Setup(m => m.CallAsync <string>()).Returns(Task.FromResult("uuid")); _contractMock.Setup(m => m.GetFunction("getTransactionID")) .Returns(getTransactionIdFunctionMock.Object); var getQuantityFunctionMock = new Mock <IFunction>(); getQuantityFunctionMock.Setup(m => m.CallAsync <int>()).Returns(Task.FromResult(2)); _contractMock.Setup(m => m.GetFunction("getQuantity")) .Returns(getQuantityFunctionMock.Object); var getItemPriceFunctionMock = new Mock <IFunction>(); getItemPriceFunctionMock.Setup(m => m.CallAsync <int>()).Returns(Task.FromResult(1)); _contractMock.Setup(m => m.GetFunction("getItemPrice")) .Returns(getItemPriceFunctionMock.Object); var getOrderDateFunctionMock = new Mock <IFunction>(); getOrderDateFunctionMock.Setup(m => m.CallAsync <int>()).Returns(Task.FromResult(800000000)); _contractMock.Setup(m => m.GetFunction("getOrderDate")) .Returns(getOrderDateFunctionMock.Object); var getFromFunctionMock = new Mock <IFunction>(); getFromFunctionMock.Setup(m => m.CallAsync <string>()).Returns(Task.FromResult("From")); _contractMock.Setup(m => m.GetFunction("getFromOwner")) .Returns(getFromFunctionMock.Object); var getToFunctionMock = new Mock <IFunction>(); getToFunctionMock.Setup(m => m.CallAsync <string>()).Returns(Task.FromResult("To")); _contractMock.Setup(m => m.GetFunction("getToOwner")) .Returns(getToFunctionMock.Object); var getTransporterFunctionMock = new Mock <IFunction>(); getTransporterFunctionMock.Setup(m => m.CallAsync <string>()).Returns(Task.FromResult("Transporter")); _contractMock.Setup(m => m.GetFunction("getTransporter")) .Returns(getTransporterFunctionMock.Object); var getTransportPickupDateFunctionMock = new Mock <IFunction>(); getTransportPickupDateFunctionMock.Setup(m => m.CallAsync <int>()).Returns(Task.FromResult(1000000000)); _contractMock.Setup(m => m.GetFunction("getTransportPickupDate")) .Returns(getTransportPickupDateFunctionMock.Object); var getTransportDeliverDateFunctionMock = new Mock <IFunction>(); getTransportDeliverDateFunctionMock.Setup(m => m.CallAsync <int>()).Returns(Task.FromResult(1200000000)); _contractMock.Setup(m => m.GetFunction("getTransportDeliverDate")) .Returns(getTransportDeliverDateFunctionMock.Object); }