public void SetUp() { validGuid = Guid.NewGuid(); validDataModel = new ExpenditureDataModel { Amount = 1, Category = new CategoryDataModel { CreationTime = DateTime.Now, Id = validGuid, Name = "TEST" }, CategoryId = validGuid, CreationTime = DateTime.Now, Id = validGuid, UserId = validGuid }; validProxy = new ExpenditureProxy { Amount = 1, Category = new CategoryProxy { Id = validGuid, Name = "TEST" }, CategoryId = validGuid, Id = validGuid, UserId = validGuid }; assembler = new ExpenditureAssembler(); }
/// <summary> /// Creates a new expenditure data model. /// </summary> /// <param name="expenditure">The expenditure proxy.</param> /// <returns>The data model.</returns> public ExpenditureDataModel NewExpenditureDataModel(ExpenditureProxy expenditure) { if (expenditure == null) { throw new ArgumentNullException(nameof(expenditure)); } return(ExpenditureProxyToDataModel(expenditure)); }
public void TearDown() { assembler = null; validUsername = null; validExpenditureViewModel = null; validAddExpenditureResponse = null; validGetExpenditureResponse = null; validEditExpenditureResponse = null; validExpenditureProxy = null; validExpenditureId = Guid.Empty; }
/// <summary> /// Converts an instance of the <see cref="ExpenditureProxy" /> class to a <see cref="ExpenditureViewModel" /> class. /// </summary> /// <param name="proxy">The proxy.</param> /// <returns>The view model.</returns> private static ExpenditureViewModel ExpenditureProxyToViewModel(ExpenditureProxy proxy) { return(new ExpenditureViewModel { Amount = proxy.Amount, Category = proxy.Category.Name, Description = proxy.Description, DateOccurred = proxy.DateOccurred, Id = proxy.Id, UserId = proxy.UserId }); }
/// <summary> /// Converts a expenditure proxy to a data model. /// </summary> /// <param name="proxy">The proxy.</param> /// <returns>The data model.</returns> private static ExpenditureDataModel ExpenditureProxyToDataModel(ExpenditureProxy proxy) { return(new ExpenditureDataModel { Amount = proxy.Amount, Category = new CategoryDataModel { Id = proxy.Category.Id, Name = proxy.Category.Name }, CategoryId = proxy.CategoryId, Id = proxy.Id, Description = proxy.Description, DateOccurred = proxy.DateOccurred, UserId = proxy.UserId }); }
public void TearDown() { orchestrator = null; assembler = null; dataAccess = null; validViewModel = null; validAddExpenditureRequest = null; validAddExpenditureResponse = null; invalidAddExpenditureRequest = null; invalidAddExpenditureResponse = null; validDeleteExpenditureRequest = null; validDeleteExpenditureResponse = null; invalidDeleteExpenditureRequest = null; invalidDeleteExpenditureResponse = null; validGetExpenditureRequest = null; validGetExpenditureResponse = null; invalidGetExpenditureRequest = null; invalidGetExpenditureResponse = null; validExpenditureProxy = null; invalidExpenditureViewModel = null; }
public void SetUp() { exportHelper = Substitute.For <IExportHelper>(); exportHelper.ToCsv(new List <string>()).ReturnsForAnyArgs(string.Empty); exportHelper.ToJson(new List <string>()).ReturnsForAnyArgs(string.Empty); exportHelper.ToXml(new List <string>()).ReturnsForAnyArgs(string.Empty); assembler = new ExpenditureAssembler(exportHelper); validUsername = "******"; validExpenditureId = Guid.NewGuid(); validUserId = Guid.NewGuid(); validExpenditureProxy = new ExpenditureProxy { Amount = 10, Category = new CategoryProxy { Id = Guid.NewGuid(), Name = "TEST" }, CategoryId = Guid.NewGuid(), Id = Guid.NewGuid(), UserId = Guid.NewGuid() }; validGetExpenditureResponse = new GetExpenditureResponse { Expenditure = validExpenditureProxy, RequestReference = Guid.NewGuid() }; validExpenditureViewModel = new ExpenditureViewModel { Amount = 10, Category = "TEST", Id = Guid.NewGuid(), UserId = Guid.NewGuid() }; validAddExpenditureResponse = new AddExpenditureResponse { Expenditure = validExpenditureProxy, RequestReference = Guid.NewGuid() }; validEditExpenditureResponse = new EditExpenditureResponse { Expenditure = validExpenditureProxy, RequestReference = Guid.NewGuid() }; validGetExpenditureForUserResponse = new GetExpenditureForUserResponse { Expenditure = new List <ExpenditureProxy> { validExpenditureProxy }, RequestReference = Guid.NewGuid() }; validGetExpenditureForUserForMonthResponse = new GetExpenditureForUserForMonthResponse { Data = new List <ExpenditureProxy> { validExpenditureProxy } }; }
public void SetUp() { validViewModel = new ExpenditureViewModel { Amount = 10, Category = "TEST", Id = Guid.NewGuid(), UserId = Guid.NewGuid() }; validExpenditureProxy = new ExpenditureProxy { Amount = 10, Category = new CategoryProxy { Id = Guid.NewGuid(), Name = "TEST" }, CategoryId = Guid.NewGuid(), Id = Guid.NewGuid(), UserId = Guid.NewGuid() }; validTrackExpenditureViewModel = new TrackExpenditureViewModel(); validDeleteExpenditureRequest = new DeleteExpenditureRequest { ExpenditureId = validExpenditureProxy.Id }; validDeleteExpenditureResponse = new DeleteExpenditureResponse { DeleteSuccess = true }; validAddExpenditureRequest = new AddExpenditureRequest { Expenditure = validExpenditureProxy }; validAddExpenditureResponse = new AddExpenditureResponse { Expenditure = validExpenditureProxy }; validGetExpenditureRequest = new GetExpenditureRequest { ExpenditureId = validExpenditureProxy.Id }; validGetExpenditureResponse = new GetExpenditureResponse { Expenditure = validExpenditureProxy }; validGetExpenditureForUserRequest = new GetExpenditureForUserRequest { UserId = validExpenditureProxy.Id }; validGetExpenditureForUserResponse = new GetExpenditureForUserResponse { Expenditure = new List <ExpenditureProxy> { validExpenditureProxy } }; validEditExpenditureRequest = new EditExpenditureRequest { Expenditure = validExpenditureProxy }; validEditExpenditureResponse = new EditExpenditureResponse { Expenditure = validExpenditureProxy }; validGetExpenditureForUserForMonthRequest = new GetExpenditureForUserForMonthRequest { UserId = validExpenditureProxy.Id }; validGetExpenditureForUserForMonthResponse = new GetExpenditureForUserForMonthResponse { Data = new List <ExpenditureProxy> { validExpenditureProxy } }; invalidExpenditureViewModel = new ExpenditureViewModel { Id = Guid.NewGuid() }; invalidAddExpenditureRequest = new AddExpenditureRequest(); invalidAddExpenditureResponse = new AddExpenditureResponse { Errors = { new ResponseErrorWrapper() } }; invalidGetExpenditureRequest = new GetExpenditureRequest(); invalidGetExpenditureResponse = new GetExpenditureResponse { Errors = { new ResponseErrorWrapper() } }; invalidDeleteExpenditureRequest = new DeleteExpenditureRequest(); invalidDeleteExpenditureResponse = new DeleteExpenditureResponse { Errors = { new ResponseErrorWrapper() } }; invalidGetExpenditureForUserRequest = new GetExpenditureForUserRequest(); invalidGetExpenditureForUserResponse = new GetExpenditureForUserResponse { Errors = { new ResponseErrorWrapper() } }; invalidEditExpenditureRequest = new EditExpenditureRequest(); invalidEditExpenditureResponse = new EditExpenditureResponse { Errors = { new ResponseErrorWrapper() } }; invalidGetExpenditureForUserForMonthRequest = new GetExpenditureForUserForMonthRequest(); invalidGetExpenditureForUserForMonthResponse = new GetExpenditureForUserForMonthResponse { Errors = { new ResponseErrorWrapper() } }; assembler = Substitute.For <IExpenditureAssembler>(); dataAccess = Substitute.For <IExpenditureDataAccess>(); errorHelper = Substitute.For <IErrorHelper>(); errorHelper.Create(Arg.Any <Exception>(), Arg.Any <string>(), Arg.Any <Type>(), Arg.Any <string>()) .Returns(new ResponseErrorWrapper()); errorHelper.Create(Arg.Any <string>(), Arg.Any <string>(), Arg.Any <Type>(), Arg.Any <string>()) .Returns(new ResponseErrorWrapper()); assembler.NewAddExpenditureRequest(validViewModel, validUsername).Returns(validAddExpenditureRequest); assembler.NewAddExpenditureRequest(invalidExpenditureViewModel, validUsername) .Returns(invalidAddExpenditureRequest); assembler.NewAddExpenditureRequest(null, validUsername).Throws(new Exception("TEST EXCEPTION")); assembler.NewExpenditureViewModel(validAddExpenditureResponse).Returns(validViewModel); assembler.NewExpenditureViewModel(validEditExpenditureResponse).Returns(validViewModel); assembler.NewDeleteExpenditureRequest(validViewModel.Id, validUsername) .Returns(validDeleteExpenditureRequest); assembler.NewDeleteExpenditureRequest(invalidExpenditureViewModel.Id, validUsername) .Returns(invalidDeleteExpenditureRequest); assembler.NewDeleteExpenditureRequest(Guid.Empty, validUsername).Throws(new Exception("TEST EXCEPTION")); assembler.NewGetExpenditureRequest(validViewModel.Id, validUsername).Returns(validGetExpenditureRequest); assembler.NewGetExpenditureRequest(invalidExpenditureViewModel.Id, validUsername) .Returns(invalidGetExpenditureRequest); assembler.NewGetExpenditureRequest(Guid.Empty, validUsername).Throws(new Exception("TEST EXCEPTION")); assembler.NewGetExpenditureForUserRequest(validViewModel.Id, validUsername) .Returns(validGetExpenditureForUserRequest); assembler.NewGetExpenditureForUserRequest(invalidExpenditureViewModel.Id, validUsername) .Returns(invalidGetExpenditureForUserRequest); assembler.NewGetExpenditureForUserRequest(Guid.Empty, validUsername) .Throws(new Exception("TEST EXCEPTION")); assembler.NewEditExpenditureRequest(validViewModel, validUsername).Returns(validEditExpenditureRequest); assembler.NewEditExpenditureRequest(invalidExpenditureViewModel, validUsername) .Returns(invalidEditExpenditureRequest); assembler.NewEditExpenditureRequest(null, validUsername).Throws(new Exception("TEST EXCEPTION")); assembler.NewGetExpenditureForUserForMonthRequest(1, validViewModel.Id, validUsername) .Returns(validGetExpenditureForUserForMonthRequest); assembler.NewGetExpenditureForUserForMonthRequest(1, invalidExpenditureViewModel.Id, validUsername) .Returns(invalidGetExpenditureForUserForMonthRequest); assembler.NewTrackExpenditureViewModel(validGetExpenditureForUserResponse) .Returns(validTrackExpenditureViewModel); assembler.NewExportViewModel(Arg.Any <IList <ExpenditureProxy> >(), ExportType.Json) .Throws(new Exception("TEST")); dataAccess.AddExpenditure(validAddExpenditureRequest).Returns(validAddExpenditureResponse); dataAccess.AddExpenditure(invalidAddExpenditureRequest).Returns(invalidAddExpenditureResponse); dataAccess.DeleteExpenditure(validDeleteExpenditureRequest).Returns(validDeleteExpenditureResponse); dataAccess.DeleteExpenditure(invalidDeleteExpenditureRequest).Returns(invalidDeleteExpenditureResponse); dataAccess.GetExpenditure(validGetExpenditureRequest).Returns(validGetExpenditureResponse); dataAccess.GetExpenditure(invalidGetExpenditureRequest).Returns(invalidGetExpenditureResponse); dataAccess.GetExpenditureForUser(validGetExpenditureForUserRequest) .Returns(validGetExpenditureForUserResponse); dataAccess.GetExpenditureForUser(invalidGetExpenditureForUserRequest) .Returns(invalidGetExpenditureForUserResponse); dataAccess.EditExpenditure(validEditExpenditureRequest).Returns(validEditExpenditureResponse); dataAccess.EditExpenditure(invalidEditExpenditureRequest).Returns(invalidEditExpenditureResponse); dataAccess.GetExpenditureForUserForMonth(validGetExpenditureForUserForMonthRequest) .Returns(validGetExpenditureForUserForMonthResponse); dataAccess.GetExpenditureForUserForMonth(invalidGetExpenditureForUserForMonthRequest) .Returns(invalidGetExpenditureForUserForMonthResponse); assembler.NewExportViewModel(new List <ExpenditureProxy> { validExpenditureProxy }, ExportType.Csv) .Returns(new ExportViewModel()); orchestrator = new ExpenditureOrchestrator(assembler, dataAccess, errorHelper); }
public void SetUp() { userId = Guid.NewGuid(); expenditureId = Guid.NewGuid(); validData = new List <ExpenditureDataModel>(); invalidDeleteExpenditureRequest = new DeleteExpenditureRequest(); invalidEditExpenditureRequest = new EditExpenditureRequest(); invalidGetExpenditureForUserForMonthRequest = new GetExpenditureForUserForMonthRequest(); invalidGetExpenditureForUserRequest = new GetExpenditureForUserRequest(); invalidGetExpenditureRequest = new GetExpenditureRequest(); invalidAddExpenditureRequest = new AddExpenditureRequest(); validExpenditureDataModel = new ExpenditureDataModel { Amount = 1, Category = new CategoryDataModel { CreationTime = DateTime.Now, Id = Guid.NewGuid(), Name = "TEST" }, CreationTime = DateTime.Now, CategoryId = Guid.NewGuid(), DateOccurred = DateTime.Now, Description = "TEST", Id = Guid.NewGuid(), UserId = Guid.NewGuid() }; expenditureProxy = new ExpenditureProxy { Amount = 1.0, Category = new CategoryProxy { Id = Guid.NewGuid(), Name = "TEST" }, CategoryId = Guid.NewGuid(), DateOccurred = DateTime.Now, Description = "TEST", Id = Guid.NewGuid(), UserId = Guid.NewGuid() }; validDeleteExpenditureRequest = new DeleteExpenditureRequest { ExpenditureId = Guid.NewGuid(), Username = "******" }; validGetExpenditureForUserForMonthRequest = new GetExpenditureForUserForMonthRequest { MonthNumber = 1, UserId = userId, Username = "******" }; validAddExpenditureRequest = new AddExpenditureRequest { Expenditure = expenditureProxy, Username = "******" }; validGetExpenditureForUserRequest = new GetExpenditureForUserRequest { UserId = userId, Username = "******" }; validGetExpenditureRequest = new GetExpenditureRequest { ExpenditureId = expenditureId, Username = "******" }; validEditExpenditureRequest = new EditExpenditureRequest { Expenditure = expenditureProxy, Username = "******" }; validGetExpenditureForUserResponse = new GetExpenditureForUserResponse { Expenditure = new List <ExpenditureProxy> { expenditureProxy } }; validGetExpenditureResponse = new GetExpenditureResponse { Expenditure = expenditureProxy }; validAddExpenditureResponse = new AddExpenditureResponse { Expenditure = expenditureProxy }; validEditExpenditureResponse = new EditExpenditureResponse { Expenditure = expenditureProxy }; validDeleteExpenditureResponse = new DeleteExpenditureResponse { DeleteSuccess = true }; validGetExpenditureForUserForMonthResponse = new GetExpenditureForUserForMonthResponse { Data = new List <ExpenditureProxy> { expenditureProxy } }; assembler = Substitute.For <IExpenditureAssembler>(); repository = Substitute.For <IExpenditureRepository>(); repository.AddExpenditure(validExpenditureDataModel).Returns(validExpenditureDataModel); repository.AddExpenditure(null).Throws(new Exception("TEST")); repository.DeleteExpenditure(validDeleteExpenditureRequest.ExpenditureId).Returns(true); repository.DeleteExpenditure(invalidDeleteExpenditureRequest.ExpenditureId).Throws(new Exception("TEST")); repository.EditExpenditure(validExpenditureDataModel).Returns(validExpenditureDataModel); repository.EditExpenditure(null).Throws(new Exception("TEST")); repository.GetExpenditure(expenditureId).Returns(validExpenditureDataModel); repository.GetExpenditure(Guid.Empty).Throws(new Exception("TEST")); repository.GetExpenditureForUser(validGetExpenditureForUserRequest.UserId) .Returns(new List <ExpenditureDataModel> { validExpenditureDataModel }); repository.GetExpenditureForUser(Guid.Empty).Throws(new Exception("TEST")); repository.GetExpenditureForUserForMonth(userId) .Returns(new List <ExpenditureDataModel> { validExpenditureDataModel }); repository.GetExpenditureForUserForMonth(Guid.Empty).Throws(new Exception("TEST")); assembler.NewAddExpenditureResponse(validExpenditureDataModel, validAddExpenditureRequest.RequestReference) .Returns(validAddExpenditureResponse); assembler.NewDeleteExpenditureResponse(true, validDeleteExpenditureRequest.ExpenditureId) .Returns(validDeleteExpenditureResponse); assembler.NewEditExpenditureResponse( validExpenditureDataModel, validEditExpenditureRequest.RequestReference) .Returns(validEditExpenditureResponse); assembler.NewExpenditureDataModel(expenditureProxy).Returns(validExpenditureDataModel); assembler.NewGetExpenditureForUserForMonthResponse( Arg.Any <List <ExpenditureDataModel> >(), validGetExpenditureForUserForMonthRequest.RequestReference) .Returns(validGetExpenditureForUserForMonthResponse); assembler.NewGetExpenditureForUserResponse( Arg.Any <List <ExpenditureDataModel> >(), validGetExpenditureForUserRequest.RequestReference) .Returns(validGetExpenditureForUserResponse); assembler.NewDeleteExpenditureResponse(true, validDeleteExpenditureRequest.RequestReference) .Returns(validDeleteExpenditureResponse); assembler.NewGetExpenditureResponse(validExpenditureDataModel, validGetExpenditureRequest.RequestReference) .Returns(validGetExpenditureResponse); errorHelper = Substitute.For <IErrorHelper>(); errorHelper.Create(Arg.Any <Exception>(), Arg.Any <string>(), Arg.Any <Type>(), Arg.Any <string>()) .Returns(new ResponseErrorWrapper()); errorHelper.Create(Arg.Any <string>(), Arg.Any <string>(), Arg.Any <Type>(), Arg.Any <string>()) .Returns(new ResponseErrorWrapper()); orchestrator = new ExpenditureOrchestrator(repository, assembler, errorHelper); }