public void ReturnAllTransactions_WhenGetTransactions() { var expectedResult = new List <Transaction>() { new Transaction() { Id = 1, Sum = -10, Description = "McDonalds", DateTime = "2018-04-28", AccountToIncreaseName = "Cafe", AccountToSubstractName = "Salary" } }; var actualResult = transactionsService.GetTransactions(); actualResult.Should().BeEquivalentTo(expectedResult); }
public ActionResult FilterTransactions(int?transactionType = null, int?currency = null) { TransactionsService transactionsService = new TransactionsService(); TransactionsFilter transactionsFilter = new TransactionsFilter(); if (transactionType != null) { transactionsFilter.Action = ((Variables.ActionValues)transactionType).ToString(); ViewBag.SelectedAction = transactionType; } if (currency != null) { transactionsFilter.CurrencyCode = ((Variables.CurrencyCodeValues)currency).ToString(); ViewBag.SelectedCurrency = currency; } return(View("Index", transactionsService.GetTransactions(transactionsFilter))); }
public async Task GetTransactionsTest() { string lowellRef = "12345678"; string uri = $"{_portalSettings.GatewayEndpoint}api/ViewTransactions/GetTransactions"; ApiTransactionsWrapper apiModel = new ApiTransactionsWrapper() { Payments = new List <ApiTransaction>() { new ApiTransaction() { Amount = 111.11M, Date = DateTime.Now.AddDays(-180), Description = "Description1", Type = "Type1", RollingBalance = 999.99M }, new ApiTransaction() { Amount = 222.22M, Date = DateTime.Now.AddDays(-150), Description = "Description2", Type = "Type2", RollingBalance = 888.88M }, new ApiTransaction() { Amount = 333.33M, Date = DateTime.Now.AddDays(-120), Description = "Description3", Type = "Type3", RollingBalance = 777.77M }, new ApiTransaction() { Amount = 444.44M, Date = DateTime.Now.AddDays(-90), Description = "Description4", Type = "Type4", RollingBalance = 666.66M }, new ApiTransaction() { Amount = 333.33M, Date = DateTime.Now.AddDays(-60), Description = "Description5", Type = "Type5", RollingBalance = 555.55M }, } }; List <Transaction> serviceModel = new List <Transaction>() { new Transaction() { Amount = 111.11M, Date = DateTime.Now.AddDays(-180), Description = "Description1", Type = "Type1", RollingBalance = 999.99M }, new Transaction() { Amount = 222.22M, Date = DateTime.Now.AddDays(-150), Description = "Description2", Type = "Type2", RollingBalance = 888.88M }, new Transaction() { Amount = 333.33M, Date = DateTime.Now.AddDays(-120), Description = "Description3", Type = "Type3", RollingBalance = 777.77M }, new Transaction() { Amount = 444.44M, Date = DateTime.Now.AddDays(-90), Description = "Description4", Type = "Type4", RollingBalance = 666.66M }, new Transaction() { Amount = 333.33M, Date = DateTime.Now.AddDays(-60), Description = "Description5", Type = "Type5", RollingBalance = 555.55M }, }; this._restClient.Setup(x => x.PostAsync <ApiAccountReferenceModel, ApiTransactionsWrapper>(uri, It.Is <ApiAccountReferenceModel>(m => m.AccountReference == "12345678"))).Returns(Task.FromResult(apiModel)); this._mapper.Setup(x => x.Map <List <ApiTransaction>, List <Transaction> >(apiModel.Payments)).Returns(serviceModel); List <Transaction> result = await _service.GetTransactions(lowellRef); string expectedString = JsonConvert.SerializeObject(serviceModel); string resultString = JsonConvert.SerializeObject(result); Assert.AreEqual(expectedString, resultString); }
public async Task GetTransactions() { var response = JsonSerializer.Deserialize <TransactionsResponse>(@" { ""data"": { ""transactions"": [ { ""id"": ""asdf1234-asdf-1234-asdf-1234asdf1234"", ""date"": ""1999-12-31"", ""amount"": 20, ""memo"": null, ""cleared"": ""reconciled"", ""approved"": true, ""flag_color"": null, ""account_id"": ""asdf1234-asdf-1234-asdf-1234asdf1234"", ""account_name"": ""Asdf 1234"", ""payee_id"": ""asdf1234-asdf-1234-asdf-1234asdf1234"", ""payee_name"": ""Asdf 1234"", ""category_id"": ""asdf1234-asdf-1234-asdf-1234asdf1234"", ""category_name"": ""Asdf 1234"", ""transfer_account_id"": null, ""transfer_transaction_id"": null, ""matched_transaction_id"": null, ""import_id"": ""YNAB:1234:1999-12-31:1"", ""deleted"": false, ""subtransactions"": [] }, { ""id"": ""asdf1235-asdf-1235-asdf-1235asdf1235"", ""date"": ""1999-12-31"", ""amount"": -12100, ""memo"": null, ""cleared"": ""uncleared"", ""approved"": true, ""flag_color"": null, ""account_id"": ""asdf1235-asdf-1235-asdf-1235asdf1235"", ""account_name"": ""Asdf 1235"", ""payee_id"": ""asdf1235-asdf-1235-asdf-1235asdf1235"", ""payee_name"": ""Asdf 1234"", ""category_id"": ""asdf1235-asdf-1235-asdf-1235asdf1235"", ""category_name"": ""Asdf 1235"", ""transfer_account_id"": null, ""transfer_transaction_id"": null, ""matched_transaction_id"": null, ""import_id"": ""YNAB:1235:1999-12-31:1"", ""deleted"": false, ""subtransactions"": [] } ], ""server_knowledge"": 54321 } }", PascalToSnakeNamingPolicy.Options); var mockOptions = new Mock <IOptions <YnabHostOptions> >(); mockOptions.Setup(mock => mock.Value).Returns(new YnabHostOptions { EndPoint = string.Empty, BudgetId = "zxcv3214-zxcv-3214-zxcv-3214zxcv3214" }); var mockApiService = new Mock <IYnabApiService>(); mockApiService.Setup(mock => mock.Download <TransactionsResponse>(It.IsAny <string>())).ReturnsAsync(response); var service = new TransactionsService(mockOptions.Object, mockApiService.Object); var result = await service.GetTransactions(); Assert.IsNotNull(result); Assert.AreEqual(2, result.Count); Assert.AreEqual("asdf1234-asdf-1234-asdf-1234asdf1234", result[0].Id); }