public async Task <List <FileContent> > GetFileContent(List <string> dealersCsvSource) { List <FileContent> lstFileContents = new List <FileContent>(); foreach (var csvSource in dealersCsvSource) { var source = (CsvSource)Enum.Parse(typeof(CsvSource), csvSource.ToString(), true); switch (source) { case CsvSource.Email: { // Process Email content var emailcontent = await _emailProcessor.ProcessEmailContent(); lstFileContents.AddRange(emailcontent); break; } case CsvSource.AzureFile: { // Process azure file content. lstFileContents.AddRange(await _azureFileProcessor.ProcessAzureFilesContent()); break; } } } return(lstFileContents); }
public async Task ProcessEmailContent_Test() { List <EmailAdditionalContent> sampleEmailAdditionalContents = new List <EmailAdditionalContent> { new EmailAdditionalContent { ContentName = "Sample.csv", ContentSource = new byte[100] } }; List <EmailAdditionalContent> mockEmailAdditionalContents = new List <EmailAdditionalContent> { new EmailAdditionalContent { ContentName = "Mock.csv", ContentSource = new byte[100] } }; IEnumerable <EmailItem> emailItems = new List <EmailItem> { new EmailItem { EmailAdditionalContents = sampleEmailAdditionalContents }, new EmailItem { EmailAdditionalContents = mockEmailAdditionalContents } }; _mailServiceMock.Setup(m => m.ReadEmails()).Returns(Task.FromResult(emailItems)); var fileContents = await _emailProcessor.ProcessEmailContent(); Assert.AreEqual(2, fileContents.Count); Assert.AreEqual("Sample.csv", fileContents[0].FileName); Assert.AreEqual("Mock.csv", fileContents[1].FileName); }