using LCU.Api.Internal.DataCleanUp.Configuration; using LCU.Api.Internal.DataCleanUp.DataAccess; using LCU.Api.Internal.DataCleanUp.Models; using LCU.Api.Internal.DataCleanUp.Services; using LCU.Library.Internal.CoreApiWrapperModel.CoreModels.CoreRequests; using LCU.Library.Internal.CoreApiWrapperModel.CoreModels.CoreResponses; using LCU.Library.Internal.CoreApiWrapperModel.CoreModels.Properties; using LCU.Library.Internal.DataCleanUpModel.Enum; using LCU.Library.Internal.DataCleanUpModel.Models; using Moq; using NUnit.Framework; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace LCU.Api.Internal.DataCleanUpTest.Services { public class UpdateAccountPmiCancelServiceTest { private UpdateAccountPmiCancelService _updateAccountPmiCancelService; private Mock _mockCoreApiWrapperService; private Mock _mockFileOperationsService; private DataCleanupDefaults _dataCleanUpDefaults; [SetUp] public void Setup() { _dataCleanUpDefaults = new DataCleanupDefaults() { PmiCancelSourcePath = "\\\\zeus\\DataIntegrationsQA\\DataCleanUp\\PMICancel\\PMI Cancel.csv", PmiCancelSummaryPath = "\\\\zeus\\DataIntegrationsQA\\DataCleanUp\\PMICancel\\" }; _mockFileOperationsService = new Mock(); _mockCoreApiWrapperService = new Mock(); _updateAccountPmiCancelService = new UpdateAccountPmiCancelService(_mockCoreApiWrapperService.Object, _mockFileOperationsService.Object, _dataCleanUpDefaults); } [Test] public async Task CleanUpPropertyUserField_Fail() { //Set Up Object var basicResponse = new BasicResponse(); _mockCoreApiWrapperService.Setup(x => x.UpdateAccountPmiCancel(It.IsAny())) .ReturnsAsync(basicResponse); var testRequest = new DataCleanUpRequest() { CleanUpType = CleanUpTypes.UpdateAccountPmiCancel }; var result = await _updateAccountPmiCancelService.CleanUp(testRequest); Assert.NotNull(result); Assert.AreEqual(testRequest, result.Request); Assert.AreEqual(1, result.ResponseStack.Count); } [Test] public async Task CleanUpPropertyUserField_Success() { var testFilePath = _dataCleanUpDefaults.PmiCancelSourcePath; string data = "Test"; _mockFileOperationsService.Setup(x => x.GetContentData(testFilePath)) .ReturnsAsync(data); //Set Up Response var basicResponse = new BasicResponse() { Success = true, Errors = new List() }; _mockCoreApiWrapperService.Setup(x => x.UpdateAccountPmiCancel(It.IsAny())) .ReturnsAsync(basicResponse); var testRequest = new DataCleanUpRequest() { CleanUpType = CleanUpTypes.UpdateAccountPmiCancel }; var result = await _updateAccountPmiCancelService.CleanUp(testRequest); Assert.NotNull(result); Assert.AreEqual(testRequest, result.Request); Assert.IsTrue(result.Successful); Assert.IsEmpty(result.ResponseStack); } } }