public async void Add_Loan_DAMAGED() { var memberSsn = 112233446; using (var context = GetContextWithData()) using (var controller = new LoansController(context)) { var itemId = AddItem(context, ItemCondition.DAMAGED); LoanAPI loanAPI = new LoanAPI() { ItemId = itemId, MemberSsn = memberSsn }; var result = await controller.PostLoan(loanAPI); var loans = await controller.GetLoans(); var loan = loans.Last(); output.WriteLine(loan.Item.RentStatus.ToString()); output.WriteLine(loan.Member.Ssn.ToString()); Assert.IsType <CreatedAtActionResult>(result); Assert.True(loan is Loan); Assert.Equal(RentStatus.UNAVAILABLE, loan.Item.RentStatus); } }
public async void Add_Loan_DAMAGED_Wrong_LOANLIMIT() { var memberSsn = 112233446; // already has 4 loans using (var context = GetContextWithData()) using (var controller = new LoansController(context)) { var itemId1 = AddItem(context); LoanAPI loanAPI1 = new LoanAPI() { ItemId = itemId1, MemberSsn = memberSsn }; await controller.PostLoan(loanAPI1); // 5 loans LIMIT var itemId = AddItem(context, ItemCondition.DAMAGED, RentStatus.AVAILABLE, ItemStatus.RENTABLE); LoanAPI loanAPI = new LoanAPI() { ItemId = itemId, MemberSsn = memberSsn }; var result = await controller.PostLoan(loanAPI); Assert.IsType <BadRequestResult>(result); } }
public LoansControllerTests() { mapperMock = mockRepository.Create <IMapper>(); calculatorMock = mockRepository.Create <ILoanCalculator>(); loansRepositoryMock = mockRepository.Create <ILoansRepository>(); loansController = new LoansController(calculatorMock.Object, mapperMock.Object, loansRepositoryMock.Object); }
public async void Add_Unavailable_Loan() { var memberSsn = 112233446; var memberSsn2 = 556677889; using (var context = GetContextWithData()) using (var controller = new LoansController(context)) { var itemId = context.Items.FirstOrDefault().Id; var loanAPI = new LoanAPI() { ItemId = itemId, MemberSsn = memberSsn }; var result = await controller.PostLoan(loanAPI); var loanAPI2 = new LoanAPI() { ItemId = itemId, MemberSsn = memberSsn2 }; var result2 = await controller.PostLoan(loanAPI2); var loans = await controller.GetLoans(); var loanz = loans.Where(l => l.Item.Id == itemId && l.IsReturned == false); Assert.True(loanz.Count() == 1); } }
public void Loan_Payment_ID() { LoansController controller = new LoansController(_context); int id = 1; ViewResult result = controller.Payment(id) as ViewResult; // Assert Assert.IsNotNull(result); }
public async void Get_All_Loans() { using (var context = GetContextWithData()) using (var controller = new LoansController(context)) { var result = await controller.GetLoans(); output.WriteLine(result.AsEnumerable().FirstOrDefault().StartDate.ToLongDateString()); Assert.True(result.Count() != 0); } }
public void GetLoansForTomeTest() { int tomeId = 2; var controller = new LoansController(_entityMock.Object); var result = controller.GetLoansForTome(tomeId); var objectResult = Assert.IsType <OkObjectResult>(result); var model = Assert.IsAssignableFrom <IEnumerable <LoanDTO> >(objectResult.Value); Assert.Equal(_loanDTOs.Where(l => l.TomeId == 2 && l.LastDay >= DateTime.Now).Select(l => l.Id), model.Select(l => l.Id)); }
public void GetLoansForBookTest2() { int bookId = 1; var controller = new LoansController(_entityMock.Object); var result = controller.GetLoansForBook(bookId); var objectResult = Assert.IsType <OkObjectResult>(result); var model = Assert.IsAssignableFrom <IEnumerable <LoanDTO> >(objectResult.Value); Assert.Equal(_loanDTOs.Where(l => l.Tome.BookId == 1), model); //1 ilyen kölcsönzés van, és itt nem kell dátum miatt törölni }
public async void Get_Loan() { using (var context = GetContextWithData()) using (var controller = new LoansController(context)) { var loanId = context.Loans.FirstOrDefault().LoanID; var result = await controller.GetLoan(loanId); Assert.IsType <OkObjectResult>(result); } }
public async void Get_Loan_Wrong_Id() { using (var context = GetContextWithData()) using (var controller = new LoansController(context)) { var loanId = 99999; var result = await controller.GetLoan(loanId); Assert.IsType <NotFoundResult>(result); } }
public async Task GetRecords_Return_BadRequest__With_Invalid_Filter_Type(string type) { var mockLogger = GetMockLogger <LoansController>(); var mockReportingService = new Mock <IReportingService>(); var controller = new LoansController(mockLogger, mockReportingService.Object); var result = await controller.GetRecords(type) as BadRequestResult; Assert.Equal((int)HttpStatusCode.BadRequest, result.StatusCode); }
public void GetLoansForBookTest() { int bookId = 2; // ehhez van egy kötet és arra van két kölcsönzés var controller = new LoansController(_entityMock.Object); var result = controller.GetLoansForBook(bookId); var objectResult = Assert.IsType <OkObjectResult>(result); var model = Assert.IsAssignableFrom <IEnumerable <LoanDTO> >(objectResult.Value); Assert.Equal(_loanDTOs.Where(l => l.Tome.BookId == 2).Count() - 1, model.Count()); Assert.Equal(2, model.Count()); }
public async Task GetRecords_Return_OK_With_Valid_Filter_Type(string type) { var mockLogger = GetMockLogger <LoansController>(); var mockReportingService = new Mock <IReportingService>(); mockReportingService.Setup(x => x.GetLoansReport(type)).ReturnsAsync(loansData); var controller = new LoansController(mockLogger, mockReportingService.Object); var result = await controller.GetRecords(type) as OkObjectResult; Assert.NotNull(result.Value); Assert.Equal((int)HttpStatusCode.OK, result.StatusCode); }
public void GetLoansTest() { var controller = new LoansController(_entityMock.Object); var result = controller.GetLoans(); var objectResult = Assert.IsType <OkObjectResult>(result); var model = Assert.IsAssignableFrom <IEnumerable <LoanDTO> >(objectResult.Value); var loanToDelete = _loanDTOs.Where(l => l.LastDay < DateTime.Now).FirstOrDefault(); //egyet töröl a controller is _loanDTOs.Remove(loanToDelete); Assert.Equal(_loanDTOs.Count(), model.Count()); }
public void GetLoansForTomeTest2() { int tomeId = 3; var controller = new LoansController(_entityMock.Object); var result = controller.GetLoansForTome(tomeId); var objectResult = Assert.IsType <OkObjectResult>(result); var model = Assert.IsAssignableFrom <IEnumerable <LoanDTO> >(objectResult.Value); foreach (var loan in _loanDTOs) { Debug.WriteLine(loan.LastDay); } Assert.Equal(_loanDTOs.Where(l => l.TomeId == 3 && l.LastDay >= DateTime.Now).Select(l => l.Id).ToList(), model.Select(l => l.Id).ToList()); }
public async void Add_Loan_DAMAGED_Wrong_MemberSSN() { var memberSsn = 1122334466; using (var context = GetContextWithData()) using (var controller = new LoansController(context)) { var itemId = AddItem(context, ItemCondition.DAMAGED, RentStatus.AVAILABLE, ItemStatus.NONRENTABLE); LoanAPI loanAPI = new LoanAPI() { ItemId = itemId, MemberSsn = memberSsn }; var result = await controller.PostLoan(loanAPI); Assert.IsType <BadRequestResult>(result); } }
public async void Add_Loan_OK_Wrong_ITEMID() { var memberSsn = 112233446; using (var context = GetContextWithData()) using (var controller = new LoansController(context)) { var itemId = new Guid(); LoanAPI loanAPI = new LoanAPI() { ItemId = itemId, MemberSsn = memberSsn }; var result = await controller.PostLoan(loanAPI); Assert.IsType <BadRequestResult>(result); } }
public void EditLoanTest() { var editedLoan = new LoanDTO { Id = 2, TomeId = _tomeDTOs.First().Id, Tome = _tomeDTOs.First(), IsActive = true, FirstDay = new DateTime(2020, 06, 14), LastDay = new DateTime(2020, 07, 01) }; var controller = new LoansController(_entityMock.Object); var result = controller.PutLoan(editedLoan); Assert.IsType <OkResult>(result); Assert.Equal(_tomeDTOs.Count, _entityMock.Object.Loans.Count()); }
public void LoanByAccountNoIsNotFound(int input) { var loansController = new LoansController(_loanService) { Request = new HttpRequestMessage { Method = HttpMethod.Get, RequestUri = new Uri(ServiceBaseURL + "loans/" + input) } }; loansController.Request.Properties.Add(HttpPropertyKeys.HttpConfigurationKey, new HttpConfiguration()); _response = loansController.Get(input); var responseResult = JsonConvert.DeserializeObject <Loan>(_response.Content.ReadAsStringAsync().Result); Assert.AreEqual(HttpStatusCode.NotFound, _response.StatusCode); Assert.False(_loans.Any(a => a.AccountNo == input)); }
public void shouldRetrieveLoanFromRegistryWhenCalled() { //throw new NotImplementedException(); var fakeLoanRepo = new FakeLoanRepository(); /*Mock<ILoanRegistry> fakeLoanRepo = new Mock<ILoanRegistry>(); * fakeLoanRepo.Setup(flr => flr.GetAll()).Returns(new List<Loan> * { * new Loan { LoanId=2, Amount = 2500000, DurationInMonths=3, MemberId=2, DateRequested=System.DateTime.Now, IsActive=true }, * new Loan { LoanId=3, Amount = 400000, DurationInMonths=1, MemberId=4, DateRequested=System.DateTime.Now, IsActive=true }, * new Loan { LoanId=1, Amount = 6000000, DurationInMonths=3, MemberId=1, DateRequested=System.DateTime.Now, IsActive=false } * });*/ var _controller = new LoansController(fakeLoanRepo); // ACT - call our method under test var result = (ObjectResult)_controller.GetById(1); Loan model = result.Value as Loan; Assert.Equal(6000000, model.Amount); Assert.Equal(1, model.MemberId); }
public void GetAllLoansTest() { var loansController = new LoansController(_loanService) { Request = new HttpRequestMessage { Method = HttpMethod.Get, RequestUri = new Uri(ServiceBaseURL + "loans") } }; loansController.Request.Properties.Add(HttpPropertyKeys.HttpConfigurationKey, new HttpConfiguration()); _response = loansController.Get(); var responseResult = JsonConvert.DeserializeObject <List <Loan> >(_response.Content.ReadAsStringAsync().Result); Assert.AreEqual(_response.StatusCode, HttpStatusCode.OK); Assert.AreEqual(responseResult.Any(), true); }
public async void Add_Loan_Over_Limit(int books) { var memberSsn = 112233446; // already has 4 loans using (var context = GetContextWithData()) using (var controller = new LoansController(context)) { for (int i = 0; i < books; i++) { var itemId = AddItem(context); LoanAPI loanAPI = new LoanAPI() { ItemId = itemId, MemberSsn = memberSsn }; await controller.PostLoan(loanAPI); } var loans = context.Members.FirstOrDefault(m => m.Ssn == memberSsn).Loans; Assert.Equal(5, loans.Count); } }
public async void Update_ItemStatus(ItemStatus status, ItemCondition condition) { var memberSsn = 112233446; using (var context = GetContextWithData()) using (var controller = new LoansController(context)) { var itemId = context.Items.FirstOrDefault().Id; LoanAPI loanAPI = new LoanAPI() { ItemId = itemId, MemberSsn = memberSsn }; await controller.PostLoan(loanAPI); await controller.ReturnLoan(loanAPI, (int)condition); var loans = await controller.GetLoans(); var loan = loans.Where(l => l.Item.Id == itemId && l.Member.Ssn == memberSsn).FirstOrDefault(); Assert.Equal(status, loan.Item.ItemStatus); } }
public async void Return_Loan(ItemCondition condition) { var memberSsn = 112233445; using (var context = GetContextWithData()) using (var controller = new LoansController(context)) { var itemId = context.Items.FirstOrDefault().Id; LoanAPI loanAPI = new LoanAPI() { ItemId = itemId, MemberSsn = memberSsn }; await controller.PostLoan(loanAPI); await controller.ReturnLoan(loanAPI, (int)condition); var loans = await controller.GetLoans(); var loanz = loans.Where(l => l.Item.Id == itemId && l.Member.Ssn == memberSsn && l.IsReturned == false); output.WriteLine(loanz.Count().ToString()); Assert.True(loanz.Count() == 0); } }
public async Task LoanController_ThrowException_WithNullParam() { LoansController controller = new LoansController(); await controller.GetNewLoans(null); }