public void ValidatesPatronId() { var checkOutService = new CheckOutService(context, holdingsServiceMock.Object); var checkout = new CheckOutViewModel { Barcode = "QA123:1", PatronId = 1 }; Assert.False(checkOutService.Checkout(checkout)); Assert.Equal("Patron with ID 1 not found", checkOutService.ErrorMessages.First()); }
public void ValidatesBarcode() { SavePatronWithId(context, 5); var checkOutService = new CheckOutService(context, holdingsServiceMock.Object); var checkout = new CheckOutViewModel { Barcode = "QA1231", PatronId = 5 }; Assert.False(checkOutService.Checkout(checkout)); Assert.Equal("Invalid holding barcode format: QA1231", checkOutService.ErrorMessages.First()); }
public void ValidatesHoldingRetrieval() { SavePatronWithId(context, 5); var checkOutService = new CheckOutService(context, holdingsServiceMock.Object); var checkout = new CheckOutViewModel { Barcode = "QA123:1", PatronId = 5 }; Assert.False(checkOutService.Checkout(checkout)); Assert.Equal("Holding with barcode QA123:1 not found", checkOutService.ErrorMessages.First()); }
public void ValidatesHoldingAvailability() { SaveCheckedOutHoldingWithClassification(context, "QA123"); SavePatronWithId(context, 5); var checkOutService = new CheckOutService(context, holdingsServiceMock.Object); var checkout = new CheckOutViewModel { Barcode = "QA123:1", PatronId = 5 }; Assert.False(checkOutService.Checkout(checkout)); Assert.Equal("Holding with barcode QA123:1 is already checked out", checkOutService.ErrorMessages.First()); }
public void ChecksOutMaterial() { var patron = SavePatronWithId(context, 5); var holding = SaveCheckedInHoldingWithClassification(context, "QA123"); var checkOutService = new CheckOutService(context, holdingsServiceMock.Object); var checkout = new CheckOutViewModel { Barcode = "QA123:1", PatronId = patron.Id }; var result = checkOutService.Checkout(checkout); Assert.True(result); holdingsServiceMock.Verify(s => s.CheckOut(holding, 5)); }
public ActionResult Index(CheckOutViewModel checkout) { if (!ModelState.IsValid) { return(View(checkout)); } checkout.BranchesViewList = new List <Branch>(branchesService.AllBranchesIncludingVirtual()); if (!checkOutService.Checkout(checkout)) { AddModelErrors(checkOutService.ErrorMessages, ModelKey); return(View(checkout)); } return(RedirectToAction("Index")); }