public ExpenseClaimModel BuildExpenseClaimModelFromXmlDocument(XmlDocument xmlDoc) { try { var xmlElements = xmlDoc.GetElementsByTagName(ExpenseXmlChildName); if (xmlElements == null) { return(null); } var expenseModel = new ExpenseClaimModel() { Expense = new ExpenseModel() { Total = Convert.ToDecimal(xmlDoc.InnerText) } }; return(expenseModel); } catch { return(null); } }
public void ProcessTextTest_ReturnsModel_IsRequestSuccessful_IsTrue() { //arrange string inText = "Hi somebody, here is my expenses claim <expense><total>1024.01</total></expense>. Thanks!"; string xmlString = "<expense><total>1024.01</total></expense>"; var textValidationService = new TextValidationService(); var xmlService = new XmlService(); int openingBracketPosition = textValidationService.GetOpeningBracketPosition(inText); int closingBracketPosition = textValidationService.GetClosingBracketPosition(inText); XmlDocument xmlDoc = xmlService.BuildXmlDocumentFromString(xmlString); var expenseModel = new ExpenseClaimModel() { Expense = new ExpenseModel() { Total = 1024.01m } }; var responseModel = new ApiResponseModel(); mockTextValidationService.Setup(p => p.GetOpeningBracketPosition(inText)).Returns(openingBracketPosition); mockTextValidationService.Setup(p => p.GetClosingBracketPosition(inText)).Returns(closingBracketPosition); mockXmlService.Setup(p => p.IsRecognisedElement(It.IsAny <string>())).Returns(true); mockXmlService.Setup(p => p.BuildXmlDocumentFromString(It.IsAny <string>())).Returns(xmlDoc); mockXmlService.Setup(p => p.BuildExpenseClaimModelFromXmlDocument(xmlDoc)).Returns(expenseModel); //act var result = importService.ProcessText(inText); //assert Assert.IsNotNull(result); Assert.IsTrue(result.IsRequestSuccessful); Assert.IsTrue(result.GstCost > 0); Assert.IsTrue(result.TotalExcludingGst > 0); Assert.IsNull(result.ErrorMessage); }