public async Task CustomerQueryWithTimeZoneFix() { var authenticatedTicket = new AuthenticatedTicket { Ticket = Guid.NewGuid().ToString(), CurrentStep = "step4" }; var xml = @"<?xml version=""1.0"" ?><QBXML><QBXMLMsgsRs><CustomerQueryRs requestID=""1"" statusCode=""0"" statusSeverity=""Info"" statusMessage=""Status OK"">" + "<CustomerRet>" + "<ListID>110000-1232697602</ListID>" + "<TimeCreated>2015-04-03T10:06:17-08:00</TimeCreated>" + "<TimeModified>2015-04-03T10:06:17-08:00</TimeModified>" + "<EditSequence>1232697602</EditSequence>" + "<Name>10th Customer</Name>" + "<FullName>ABC Customer</FullName>" + "<IsActive>true</IsActive>" + "<Sublevel>0</Sublevel>" + "<Balance>0.00</Balance>" + "<TotalBalance>0.00</TotalBalance>" + "<JobStatus>None</JobStatus>" + "</CustomerRet>" + "</CustomerQueryRs></QBXMLMsgsRs></QBXML>"; var qbXmlResponseOptions = new QbXmlResponseOptions { TimeZoneBugFix = QuickBooksTestHelper.GetPacificStandardTimeZoneInfo() }; var stepQueryWithIteratorMock = new Mock <StepQueryResponseBase <CustomerQueryRqType, CustomerQueryRsType> >(); stepQueryWithIteratorMock .Protected() .Setup <Task>("ExecuteResponseAsync", ItExpr.IsAny <AuthenticatedTicket>(), ItExpr.IsAny <CustomerQueryRsType>()) .Returns(Task.FromResult <object>(null)); stepQueryWithIteratorMock.CallBase = true; await stepQueryWithIteratorMock.Object.SetOptionsAsync(qbXmlResponseOptions); var ret = await stepQueryWithIteratorMock.Object.ReceiveXMLAsync(authenticatedTicket, xml, string.Empty, string.Empty); Assert.AreEqual(0, ret); var expectedHour = 17; stepQueryWithIteratorMock .Protected() .Verify("ExecuteResponseAsync", Times.Once(), ItExpr.IsAny <AuthenticatedTicket>(), ItExpr.Is <CustomerQueryRsType>(m => m.CustomerRet[0].TimeModified.ToDateTime().ToUniversalTime().Hour == expectedHour)); }
public Task SetOptionsAsync(QbXmlResponseOptions qbXmlResponseOptions) { this.qbXmlResponseOptions = qbXmlResponseOptions; return(Task.FromResult <object>(null)); }
public void SetOptions(QbXmlResponseOptions qbXmlResponseOptions) { this.qbXmlResponseOptions = qbXmlResponseOptions; }