public async Task ProcessMessage_ExceptionRetrievingSalesforceFranchiseData() { // ARRANGE var appCache = (IAppCache)_context.Properties["appCache"]; var loggerMock = new Mock <ILogger <SalesforceMessageProcessor> >(); var tokenServiceMock = new Mock <IHISCTokenService>(); var programDataServiceMock = new Mock <IProgramDataService>(); var timeZoneServiceMock = new Mock <ITimeZoneService>(); var salesforceUserPublishServiceMock = new Mock <ISalesforceUserService>(); var unitUnderTest = new SalesforceMessageProcessor(appCache, loggerMock.Object, tokenServiceMock.Object, programDataServiceMock.Object, timeZoneServiceMock.Object, salesforceUserPublishServiceMock.Object); tokenServiceMock.Setup(mock => mock.RetrieveToken()) .Throws <System.IO.IOException>() .Verifiable(); var salesforceUser = new AzureActiveDirectoryUser { Address = "11218 John Galt Blvd.", FranchiseNumber = "100" }; // ACT await unitUnderTest.ProcessUser(salesforceUser); }
public async Task ProcessMessage_SuccessSyncUserWithClearCareOperatingSystem() { // ARRANGE var appCache = (IAppCache)_context.Properties["appCache"]; var loggerMock = new Mock <ILogger <SalesforceMessageProcessor> >(); var tokenServiceMock = new Mock <IHISCTokenService>(); var programDataServiceMock = new Mock <IProgramDataService>(); var timeZoneServiceMock = new Mock <ITimeZoneService>(); var salesforceUserPublishServiceMock = new Mock <ISalesforceUserService>(); var unitUnderTest = new SalesforceMessageProcessor(appCache, loggerMock.Object, tokenServiceMock.Object, programDataServiceMock.Object, timeZoneServiceMock.Object, salesforceUserPublishServiceMock.Object); var salesforceFranchises = new[] { 100 }; var clearCareFranchises = new[] { 100 }; var token = "TOKEN"; tokenServiceMock.Setup(mock => mock.RetrieveToken()) .ReturnsAsync(token) .Verifiable(); programDataServiceMock.Setup(mock => mock.RetrieveFranchises(ProgramDataSources.Salesforce, token, true)) .ReturnsAsync(salesforceFranchises) .Verifiable(); programDataServiceMock.Setup(mock => mock.RetrieveFranchises(ProgramDataSources.ClearCare, token, true)) .ReturnsAsync(clearCareFranchises) .Verifiable(); var timeZone = "Americas/NewYork"; timeZoneServiceMock.Setup(mock => mock.RetrieveTimeZoneAndPopulateUsersCountryCode(It.IsAny <AzureActiveDirectoryUser>())) .ReturnsAsync(timeZone) .Verifiable(); var salesforceUser = new AzureActiveDirectoryUser { Address = "11218 John Galt Blvd.", FranchiseNumber = "100" }; // ACT await unitUnderTest.ProcessUser(salesforceUser); // ASSERT tokenServiceMock.Verify(); programDataServiceMock.Verify(); timeZoneServiceMock.Verify(); salesforceUserPublishServiceMock.Verify(mock => mock.Publish(It.IsAny <SalesforceUser>())); }