protected void SeatingGridView_SelectedIndexChanging(object sender, GridViewSelectEventArgs e) { //extract the table number, number in party and the waiter ID //from the grid view //we will also create the time from the MockDateTime controls at the top of this form //Typically you would use DateTime.Today for current datetime //once the date is collected then it will be sent to the BLL for processing //the command will be done under the control of the MessageUserControl //so if there is an error, the MUC can handle it. //we will use the in-line MUC TryRun technique MessageUserControl.TryRun(() => { //obtain the selected gridview row GridViewRow agvrow = SeatingGridView.Rows[e.NewSelectedIndex]; //accessing a web control on the gridview row uses .FindControl("xxx) as //datatype xxx be the name of control //points to the control string tablenumber = (agvrow.FindControl("TableNumber") as Label).Text; string numberinparty = (agvrow.FindControl("NumberInParty") as TextBox).Text; string waiterid = (agvrow.FindControl("WaiterList") as DropDownList).SelectedValue; DateTime when = Mocker.MockDate.Add(Mocker.MockTime); //Parse(SearchDate.Text).Add(TimeSpan.Parse(SearchTime.Text)); //standard call to insert a record into the DB AdminController sysmgr = new AdminController(); sysmgr.SeatCustomer(when, byte.Parse(tablenumber), int.Parse(numberinparty), int.Parse(waiterid)); //refresh the gridview SeatingGridView.DataBind(); }, "Customer Seated", "New walk-in customer has been saved"); //message }
protected void SeatingGridView_SelectedIndexChanged(object sender, GridViewSelectEventArgs e) { //extarct the table number in the party and the awaiter ID from the grid view //will also create the time from the mockDateTime contrtorls at the top of this form //once the date uis collected then it will ne sent to the BLL for processeing //the comman will be done under the control of the MessegeUserControll //so if there is an error the MUS will handle it. // we wll use the Inline MUC tryRun technique MessageUserControl.TryRun(() => { //obtain the selected grid view GridViewRow agvrow = SeatingGridView.Rows[e.NewSelectedIndex]; //asscessing a wen control on the gridview row //uses .FindControl("xxx") as a datatype string tablenumber = (agvrow.FindControl("TableNumber") as Label).Text; string numberinparty = (agvrow.FindControl("NumberInParty")as TextBox).Text; string waiterID = (agvrow.FindControl("WaiterList") as DropDownList).SelectedValue; DateTime when = Mocker.MockDate.Add(Mocker.MockTime); //standerd call insert a record to the DB AdminController sysmgr = new AdminController(); sysmgr.SeatCustomer(when, byte.Parse(tablenumber), int.Parse(numberinparty), int.Parse(waiterID)); //refresh the gridview SeatingGridView.DataBind(); }, "Customer Seated", "New Wall-in Customer has been saved" ); }
protected void ReservationSummaryListView_OnItemCommand(object sender, ListViewCommandEventArgs e) { // Check the command name and add the reservation for the specified seats. if (e.CommandName.Equals("Seat")) { MessageUserControl.TryRun(() => { // Get the data var reservationId = int.Parse(e.CommandArgument.ToString()); var selectedItems = new List<byte>();//for multiple table numbers foreach (ListItem item in ReservationTableListBox.Items) { if (item.Selected) selectedItems.Add(byte.Parse(item.Text.Replace("Table ", ""))); } var when = Mocker.MockDate.Add(Mocker.MockTime); // Seat the reservation customer var controller = new AdminController(); controller.SeatCustomer(when, reservationId, selectedItems, int.Parse(WaiterDropDownList.SelectedValue)); // Refresh the gridview SeatingGridView.DataBind(); ReservationsRepeater.DataBind(); ReservationTableListBox.DataBind(); }, "Customer Seated", "Reservation customer has arrived and has been seated"); } }
protected void SeatingGridView_SelectedIndexChanging(object sender, GridViewSelectEventArgs e) { //extract tablenumber, waiterid, numberinparty from the gridview // we will also create a datetime variable using the mock clock at the top of //the page. (Typically in real-time you use use DateTime.Today) //once the data is collected it will be passed to the BLL from processing //the command will be done under the control of the MessageUserControl //we will use the MUC inline technique MessageUserControl.TryRun(() => { //obtain our data from the GridView row GridViewRow agvrow = SeatingGridView.Rows[e.NewSelectedIndex]; //accessing a web control on thee gridview row //the command to do this is .FindControl("xxxx") as datatype //all data from the gridview is a string string tablenumber = (agvrow.FindControl("TableNumber") as Label).Text; string numberinparty = (agvrow.FindControl("NumberInParty") as TextBox).Text; string waiterid = (agvrow.FindControl("WaiterList") as DropDownList).SelectedValue; DateTime when = DateTime.Parse(SearchDate.Text).Add(TimeSpan.Parse(SearchTime.Text)); //standard typical call to your controller in the BLL AdminController sysmgr = new AdminController(); sysmgr.SeatCustomer(when, byte.Parse(tablenumber), int.Parse(numberinparty), int.Parse(waiterid)); //refresh the gridview SeatingGridView.DataBind(); },"Customer Seated","New walk-in customer has been saved"); }
protected void ReservationSummaryListView_ItemCommand(object sender, ListViewCommandEventArgs e) { //this is the mthod which will gather the seating information for reservation and pass to the BLL for proceosessing if (e.CommandName.Equals("Seat")) { //execuion if the code wukk ve uynder tghe controll MessageUserControl.TryRun(() => { int reservationid = int.Parse(e.CommandArgument.ToString()); int waiterid = int.Parse(WaiterDropDownList.SelectedValue); DateTime when = Mocker.MockDate.Add(Mocker.MockTime); List<byte> selectedTables = new List<byte>(); //walk throug the list box row by row foreach (ListItem item_tableid in ReservationTableListBox.Items) { if (item_tableid.Selected) { selectedTables.Add(byte.Parse(item_tableid.Text.Replace("Table ", ""))); } } //with all data gatherd, connet to your library controller, and send data for processing AdminController sysmgr = new AdminController(); sysmgr.SeatCustomer(when reservationid, selectedTables, waiterid); SeatingGridView.DataBind(); ReservationsRepeater.DataBind(); }, "customer Seated", "Reservation customer has been saeated"); } }
protected void MockLastBillingDateTime_Click(object sender, EventArgs e) { AdminController sysmgr=new AdminController(); DateTime info = sysmgr.GetLastBillDateTime(); SearchDate.Text = info.ToString("yyyy-MM-dd"); SearchTime.Text = info.ToString("HH:mm"); }
protected bool ShowReservationSeating() { bool showreservations= false; //this method will query the database to //show any available seats for reservations DateTime when = Mocker.MockDate.Add(Mocker.MockTime); AdminController sysmgr = new AdminController(); showreservations = sysmgr.IsAvailableSeats(when); return showreservations; }
protected void ReservationSummaryListView_ItemCommand(object sender, ListViewCommandEventArgs e) { // this is the method which will gather the seating // information for reservations and pass to the BLL // for processing // no processing will be done unless the e.CommandName is // equal to "Seat" if (e.CommandName.Equals.("Seat")) { // execution of the code will be under the control // of the MessageUserControl MessageUserControl.TryRun(() => { //1. gather necessary data from the web controls int reservationid = int.Parse(e.CommandArgument.ToString()); int waiterid = int.Parse(WaiterDropDownList.SelectedValue); DateTime when = Mocker.MockDate.Add(Mocker.MockTime); //2. we need to collect possible multiple values // from the ListBox control which contains // the selected tables to be assigned to this // group of customers List<byte> selectedTables = new List<byte>(); //3.walk throuth the ListBox row by row foreach (ListItem item_tableid in ReservationTableListBox.Items) { if (item_tableid.Selected) { selectedTables.Add(byte.Parse(item_tableid.Text.Replace("Table ",""))); ) } } //4.with all data gathered, connect to your //library controller, and send data for //processing AdminController sysmgr = new AdminController(); sysmgr.SeatCustomer(when, reservationid,selectedTables,waiterid); //5.Refresh the page(Screen) SeatingGridView.DataBind(); //6.Refresh the reservation Repeater ReservationsRepeater.DataBind(); ReservationTableListBox.DataBind(); },"Customer Seated","Reservation customer has arrived and has been seated"); } }
public void DashboardTest() { IMembershipRepository membershipRepository = null; // TODO: Initialize to an appropriate value IFormsAuthentication formsAuthentication = null; // TODO: Initialize to an appropriate value AdminController target = new AdminController(membershipRepository, formsAuthentication); // TODO: Initialize to an appropriate value ActionResult expected = null; // TODO: Initialize to an appropriate value ActionResult actual; actual = target.Dashboard(); Assert.AreEqual(expected, actual); Assert.Inconclusive("Verify the correctness of this test method."); }
public void GetWaiterInfo() { AdminController sysmgr = new AdminController(); var waiter = sysmgr.GetWaiterByID(int.Parse(WaiterList.SelectedValue)); WaiterID.Text = waiter.WaiterID.ToString(); FirstName.Text = waiter.FirstName; LastName.Text = waiter.LastName; Phone.Text = waiter.Phone; Address.Text = waiter.Address; DateHired.Text = waiter.HireDate.ToShortDateString(); if (waiter.ReleaseDate.hasValue) DateReleased = waiter.ReleaseDate.ToShortDateString(); }
public void CanDeleteArticle() { var articleIds = GetArticleIds(); var mock = new Mock<IArticleRepository>(); mock.Setup(m => m.Articles).Returns(GetArticles(articleIds)); var controller = new AdminController(mock.Object); var deletedArticleId = articleIds[3]; controller.Delete(deletedArticleId); mock.Verify(m => m.DeleteArticle(deletedArticleId)); }
public void Cannot_Edit_Nonexistent_Client() { // Arrange - create the mock repository Mock<IClientRepository> mock = new Mock<IClientRepository>(); mock.Setup(m => m.Clients).Returns(new Client[] { new Client {ClientId = 1, ContractNumber = "L1"}, new Client {ClientId = 2, ContractNumber = "L2"}, new Client {ClientId = 3, ContractNumber = "L3"}, }.AsQueryable()); // Arrange - create the controller AdminController target = new AdminController(mock.Object); // Act Client result = (Client)target.Edit(4).ViewData.Model; // Assert Assert.IsNull(result); }
public void CanChangeLoginName() { // Arrange (set up a scenario) User user = new User() { LoginName = "Bob" }; FakeRepository repositoryParam = new FakeRepository(); repositoryParam.Add(user); AdminController target = new AdminController(repositoryParam); string oldLoginParam = user.LoginName; string newLoginParam = "Joe"; // Act (attempt the operation) target.ChangeLoginName(oldLoginParam, newLoginParam); // Assert (verify the result) Assert.AreEqual(newLoginParam, user.LoginName); Assert.IsTrue(repositoryParam.DidSubmitChanges); }
public void Cannot_Save_Invalid_Changes() { // Arrange - create mock repository Mock<IClientRepository> mock = new Mock<IClientRepository>(); // Arrange - create the controller AdminController target = new AdminController(mock.Object); // Arrange - create a client Client client = new Client { ContractNumber = "Test" }; // Arrange - add an error to the model state target.ModelState.AddModelError("error", "error"); // Act - try to save the client ActionResult result = target.Edit(client); // Assert - check that the repository was not called mock.Verify(m => m.SaveClient(It.IsAny<Client>()), Times.Never()); // Assert - check the method result type Assert.IsInstanceOfType(typeof(ViewResult), result); }
public void CanEditArticle() { var articleIds = GetArticleIds(); var mock = new Mock<IArticleRepository>(); mock.Setup(m => m.Articles).Returns(GetArticles(articleIds)); var controller = new AdminController(mock.Object); var article1 = controller.Edit(articleIds[0]).ViewData.Model as Article; var article2 = controller.Edit(articleIds[1]).ViewData.Model as Article; var article3 = controller.Edit(articleIds[2]).ViewData.Model as Article; Assert.AreEqual(articleIds[0], article1.ArticleId); Assert.AreEqual(articleIds[1], article2.ArticleId); Assert.AreEqual(articleIds[2], article3.ArticleId); }
public void Cannot_Edit_Nonexistent_Product() { // Arrange - create the mock repository Mock<IProductRepository> mock = new Mock<IProductRepository>(); mock.Setup(m => m.Products).Returns(new Product[] { new Product {ProductID = 1, Name = "P1"}, new Product {ProductID = 2, Name = "P2"}, new Product {ProductID = 3, Name = "P3"}, }); // Arrange - create the controller AdminController target = new AdminController(mock.Object); // Act Product result = (Product) target.Edit(4).ViewData.Model; // Assert Assert.IsNull(result); }
public void Cannot_Save_Invalid_Changes() { // Arrange - create mock repository Mock<IProductRepository> mock = new Mock<IProductRepository>(); // Arrange - create the controller AdminController target = new AdminController(mock.Object); // Arrange - create a product Product product = new Product {Name = "Test"}; // Arrange - add an error to the model state target.ModelState.AddModelError("error", "error"); // Act - try to save the product ActionResult result = target.Edit(product); // Assert - check that the repository was not called mock.Verify(m => m.SaveProduct(It.IsAny<Product>()), Times.Never()); // Assert - check the method result type Assert.IsInstanceOfType(result, typeof (ViewResult)); }
protected void InsertWaiter_Click(object sender, EventArgs e) { //this example is using the TryRun inline MessageUserControl1.TryRun(() => { Waiter item = new Waiter(); item.FirstName = FirstName.Text; item.LastName = LastName.Text; item.Address = Address.Text; item.Phone = Phone.Text; item.HireDate = DateTime.Parse(DateHired.Text); item.ReleaseDate = null; AdminController sysmgr = new AdminController(); WaiterID.Text = sysmgr.Waiter_Add(item).ToString(); MessageUserControl1.ShowInfo("Waiter Added."); RefreshWaiterList(WaiterID.Text); }); }
public void Can_Delete_Valid_Products() { // Arrange - create a Product Product prod = new Product { ProductID = 2, Name = "Test" }; // Arrange - create the mock repository Mock<IProductRepository> mock = new Mock<IProductRepository>(); mock.Setup(m => m.Products).Returns(new Product[] { new Product {ProductID = 1, Name = "P1"}, prod, new Product {ProductID = 3, Name = "P3"}, }); // Arrange - create the controller AdminController target = new AdminController(mock.Object); // Act - delete the product target.Delete(prod.ProductID); // Assert - ensure that the repository delete method was // called with the correct Product mock.Verify(m => m.DeleteProduct(prod.ProductID)); }
protected void SeatingGridView_SelectedIndexChanging(object sender, GridViewSelectEventArgs e) { MessageUserControl.TryRun(() => { GridViewRow agvrow = SeatingGridView.Rows[e.NewSelectedIndex]; //accessing a web control on the girdview row usings .FindControl("xxx") as datatype string tablenumber = (agvrow.FindControl("TableNumber") as Label).Text; string numberinparty = (agvrow.FindControl("NumberInParty") as TextBox).Text; string waiterid = (agvrow.FindControl("WaiterList") as DropDownList).SelectedValue; var when = Mocker.MockerDate.Add(Mocker.MockerTime); //standard call to insert a record into the database AdminController sysmgr = new AdminController(); sysmgr.SeatCustomer(when, byte.Parse(tablenumber), int.Parse(numberinparty), int.Parse(waiterid)); SeatingGridView.DataBind(); }, "Customer Seated", "New walk-in customer has been saved"); }
public void Can_Delete_Valid_Clients() { // Arrange - create a client Client cl = new Client { ClientId = 2, ContractNumber = "Test" }; // Arrange - create the mock repository Mock<IClientRepository> mock = new Mock<IClientRepository>(); mock.Setup(m => m.Clients).Returns(new Client[] { new Client {ClientId = 1, ContractNumber = "L1"}, cl, new Client {ClientId = 3, ContractNumber = "L3"}, }.AsQueryable()); // Arrange - create the controller AdminController target = new AdminController(mock.Object); // Act - delete the client target.Delete(cl.ClientId); // Assert - ensure that the repository delete method was // called with the correct client mock.Verify(m => m.DeleteClient(cl.ClientId)); }
public void GetWaiterInfo() { //a standard lookup sequence AdminController sysmgr = new AdminController(); var waiter = sysmgr.GetWaiterByID(int.Parse(WaiterList.SelectedValue)); WaiterID.Text = waiter.WaiterID.ToString(); FirstName.Text = waiter.FirstName; LastName.Text = waiter.LastName; Phone.Text = waiter.Phone; Address.Text = waiter.Address; DateHired.Text = waiter.HireDate.ToShortDateString(); //null field check if(waiter.ReleaseDate.HasValue) { DateReleased.Text = waiter.ReleaseDate.ToString(); } }
protected void ReservationSummaryListView_ItemCommand(object sender, ListViewCommandEventArgs e) { // this is the method which will gather the seating // information for reservations and pass the the BLL for processing //no processing will be done unless the e.CoomandName is equal to "Seat" if (e.CommandName.Equals("Seat")) { MessageUserControl.TryRun(() => { //gather the necessary data from teh web controls int reservationid = int.Parse(e.CommandArgument.ToString()); int waiterid = int.Parse(WaiterDropDownList.SelectedValue); DateTime when = Mocker.MockDate.Add(Mocker.MockTime); //we need to collect the possible multiple values from the ListBox control which contains the selected tables to be assigned to this group of customer List<byte> selectTables= new List<byte>(); //walk through the lis box row by row foreach (ListItem item_tableid in ReservationTableListBox.Items) { if (item_tableid.Selected) { selectTables.Add(byte.Parse(item_tableid.Text.Replace("Table ", ""))); } } //with all data gathered. connect to your library controller // and send data for processing AdminController sysmgr = new AdminController(); sysmgr.SeatCustomer(when, reservationid, selectTables, waiterid); // Refresh the page // Refresh both the grid view SeatingGridView.DataBind(); ReservationsRepeater.DataBind(); ReservationTableListBox.DataBind(); },"Customer seated","Reservation customer has arrvied and has been seated"); } }
public void AdminController_Preview_Action_Should_Fetch_A_Survey_From_Repo() { // arrange var repositoryStub = MockRepository.GenerateStub<IRepository>(); var sut = new AdminController(repositoryStub); const int surveyId = 1; var survey = new Survey(); repositoryStub .Stub(x => x.GetSurvey(surveyId)) .Return(survey); // act var sur = repositoryStub.GetSurvey(surveyId); var actual = sut.Preview(surveyId); // assert var viewResult = (PartialViewResult)actual; Assert.AreEqual(survey, viewResult.ViewData.Model); Assert.AreEqual("selected", sut.TempData["Selected_Admin"], "Selected tab was incorrect."); }
public void AdminController_Index_Action_Should_Fetch_Surveys_From_Repo() { // arrange var repositoryStub = MockRepository.GenerateStub<IRepository>(); var sut = new AdminController(repositoryStub); var vm = new AdminViewModel(); var s = new List<Survey>(); repositoryStub .Stub(x => x.GetUnapprovedSurveys()) .Return(s); // act var actual = sut.Index(); // assert var viewResult = (ViewResult)actual; Assert.AreEqual(vm, viewResult.ViewData.Model as AdminViewModel); Assert.AreEqual("selected", sut.ViewData["Selected_Admin"], "Selected tab was incorrect."); }
public void GetWaiterInfo() { // a standard lookup process AdminController sysmgr = new AdminController(); var waiter = sysmgr.GetWaiterByID(int.Parse(WaiterList.SelectedValue)); IDLabel.Text = waiter.WaiterID.ToString(); FirstNameTextBox.Text = waiter.FirstName; LastNameTextBox.Text = waiter.LastName; PhoneTextBox.Text = waiter.Phone; AddressTextBox.Text = waiter.Address; HireDateTextBox.Text = waiter.HireDate.ToShortDateString(); if(waiter.ReleaseDate.HasValue) { ReleaseDateTextBox.Text= waiter.ReleaseDate.ToString(); } else { ReleaseDateTextBox.Text = ""; } }
public void GetWaiterInfo() { //a standerd LookUp Process AdminController sysmgr = new AdminController(); var waiter = sysmgr.Get_Waiter_By_ID(int.Parse(WaiterList.SelectedValue)); WaiterID.Text = waiter.WaiterID.ToString(); FirstName.Text = waiter.FirstName; LastName.Text = waiter.LastName; Address.Text = waiter.Address; Phone.Text = waiter.Phone; HireDate.Text = waiter.HireDate.ToShortDateString(); //null field check if (waiter.ReleaseDate.HasValue) { ReleaseDate.Text = waiter.ReleaseDate.ToString(); } else { ReleaseDate.Text = ""; } }
public void GetWaiterInfo() { //a standard lookup process AdminController SystemManager = new AdminController(); var waiter = SystemManager.GetWaiterByID(int.Parse(WaiterList.SelectedValue)); WaiterID.Text = waiter.WaiterID.ToString(); FirstName.Text = waiter.FirstName; LastName.Text = waiter.LastName; Address.Text = waiter.Address; Phone.Text = waiter.Phone; HireDate.Text = waiter.HireDate.ToShortDateString(); //null field check if (waiter.ReleaseDate.HasValue) { ReleaseDate.Text = waiter.ReleaseDate.ToString(); } else { ReleaseDate.Text = ""; } }
protected void Insert_Click(object sender, EventArgs e) { MessageUserControl.TryRun(() => { Waiter item = new Waiter(); item.FirstName = FirstName.Text; item.LastName = LastName.Text; item.Address = Address.Text; item.Phone = Phone.Text; item.HireDate = DateTime.Parse(DateHired.Text); if (string.IsNullOrEmpty(Released.Text)) item.ReleaseDate = null; else item.ReleaseDate = DateTime.Parse(Released.Text); item.ReleaseDate = null; AdminController sysgmr = new AdminController(); WaiterID.Text = sysgmr.Waiters_Add(item).ToString(); MessageUserControl.ShowInfo("Waiter Added"); RefreshWaiterList(WaiterID.Text); } ); }
public void GetWaiterInfo() { // a standard lookup process AdminController sysmgr = new AdminController(); var waiter = sysmgr.GetWaiterByID(int.Parse(WaiterDropDownList.SelectedValue)); WaiterID.Text = waiter.WaiterID.ToString(); WaiterFirstName.Text = waiter.FirstName; WaiterLastName.Text = waiter.LastName; WaiterAddress.Text = waiter.Address; WaiterPhone.Text = waiter.Phone; WaiterHireDate.Text = waiter.HireDate.ToShortDateString(); // null field check if (waiter.ReleaseDate.HasValue) { WaiterReleaseDate.Text = waiter.ReleaseDate.ToString(); } else { WaiterReleaseDate.Text = ""; } }
public void RedigerSkuespillerPostOK() { // Arrange var controller = new AdminController(new AdminLogikk(new AdminRepositoryStub())); var SessionMock = new TestControllerBuilder(); SessionMock.InitializeController(controller); controller.Session["Admin"] = "admin"; var innSkuespiller = new Skuespiller() { id = 1, Fornavn = "Ole", Etternavn = "Olesen", Land = "Norge", Bilde = "Bilde01", Alder = 22, Filmer = new List <Film>() }; var Film = new Film() { id = 1, Navn = "Film01", Bilde = "Bilde01" }; innSkuespiller.Filmer.Add(Film); TestBilde testBilde = new TestBilde(); // Act var actionResult = (ViewResult)controller.RedigerSkuespiller(innSkuespiller, testBilde); // Assert Assert.AreEqual(actionResult.ViewName, ""); Assert.AreEqual(actionResult.ViewData["EndreStatus"], "Informasjon oppdatert"); }
public void Can_Delete_Valid_Products() { Product prod = new Product { ProductID = 2, Name = "Test" }; Mock <IProductRepository> mock = new Mock <IProductRepository>(); mock.Setup(m => m.Products).Returns(new Product[] { new Product { ProductID = 1, Name = "P1" }, prod, new Product { ProductID = 3, Name = "P3" }, }.AsQueryable <Product>()); AdminController target = new AdminController(mock.Object); target.Delete(prod.ProductID); mock.Verify(m => m.DeleteProduct(prod.ProductID)); }
public void Can_Delete_Valid_Product() { //Arrange //Tạo một product sẽ được delete Product delProduct = new Product { ProductID = 2, Name = "p2" }; //Tạo mock repo Mock <IProductRepository> mock = new Mock <IProductRepository>(); mock.Setup(m => m.Products).Returns(new Product[] { new Product { ProductID = 1, Name = "p1" }, delProduct, new Product { ProductID = 3, Name = "p3" } }); //Tạo controller AdminController adminController = new AdminController(mock.Object); //Action //Delete product adminController.Delete(delProduct.ProductID); //Assert //ensure that the repository delete method was // called with the correct Product mock.Verify(m => m.DeleteProduct(delProduct.ProductID)); }
public void Can_Edit_Book() { //Организация (arrange) Mock <IBookRepository> mock = new Mock <IBookRepository>(); mock.Setup(m => m.Books).Returns(new List <Book> { new Book { BookId = 1, Name = "Book1" }, new Book { BookId = 2, Name = "Book2" }, new Book { BookId = 3, Name = "Book3" }, new Book { BookId = 4, Name = "Book4" }, new Book { BookId = 5, Name = "Book5" } }); AdminController controller = new AdminController(mock.Object); //Действие (act) Book book1 = controller.Edit(1).ViewData.Model as Book; Book book2 = controller.Edit(2).ViewData.Model as Book; Book book3 = controller.Edit(3).ViewData.Model as Book; //Утверждение (assert) Assert.AreEqual(1, book1.BookId); Assert.AreEqual(2, book2.BookId); Assert.AreEqual(3, book3.BookId); }
public void Cannot_Edit_Nonexistent_Book() { // Arrange - create the mock repository Mock <IBookRepository> mock = new Mock <IBookRepository>(); mock.Setup(m => m.Books).Returns(new Book[] { new Book { BookId = Guid.NewGuid(), Title = "B1" }, new Book { BookId = Guid.NewGuid(), Title = "B2" }, new Book { BookId = Guid.NewGuid(), Title = "B3" }, }.AsQueryable <Book>()); // Arrange - create the controller AdminController target = new AdminController(mock.Object); // Act Book result = GetViewModel <Book>(target.Edit(Guid.NewGuid())); // Assert Assert.Null(result); }
public void Can_Delete_Valid_Book() { Mock <IBookRepository> mock = new Mock <IBookRepository>(); Book book = new Book { BookID = 1, Title = "Test Book" }; mock.Setup(m => m.Books).Returns(new Book[] { new Book { BookID = 2, Title = "Test 2" }, new Book { BookID = 3, Title = "Test 3" }, book }); AdminController target = new AdminController(mock.Object); target.ModelState.AddModelError("error", "error"); ActionResult result = target.Delete(book.BookID); mock.Verify(b => b.DeleteBook(book.BookID)); }
//[Fact] public async Task DeleteLoan_ReturnsViewResult() { //Arrange var testid = 12; var controller = new AdminController(_adminMock.Object, _userMock.Object, _loginMock.Object, _userInfoMock.Object, _userManagerMock.Object, _transfersReportsMock.Object, _countersReportMock.Object, _filtersReportMock.Object); var LoanModel = new Loan { Name = "abc", Percentage = 10, AccidentInsurance = 10, Purpose = "abc", Term = "abc", Currency = "abc", RepaymentSchedule = "abc", AdvancedPayment = "abc", InterestRate = 10, MinAmount = 10, MaxAmount = 100, Id = 1000, InsuranceLoan = 10, LoanInterestRate = 10, ServiceFee = 10, AccountLoans = null, }; _adminMock.Setup(repo => repo.GetLoanById(It.IsAny <int>())) .ReturnsAsync(LoanModel); //Act var result = await controller.DeleteLoan(testid); //Assert var viewResult = Assert.IsType <RedirectResult>(result); }
public void Cannot_Edit_Nonexistent_Product() { // Arrange - create the mock repository Mock <IProductRepository> mock = new Mock <IProductRepository>(); mock.Setup(m => m.Products).Returns(new Product[] { new Product { ProductID = 1, Name = "P1" }, new Product { ProductID = 2, Name = "P2" }, new Product { ProductID = 3, Name = "P3" }, }.AsQueryable <Product>()); // Arrange - create the controller AdminController target = new AdminController(mock.Object); // Act Product result = GetViewModel <Product>(target.Edit(4)); // Assert Assert.Null(result); }
public void Can_Save_Valid_Changes() { // Arrange - create mock repository Mock <IProductRepository> mock = new Mock <IProductRepository>(); // Arrange - create mock temp data Mock <ITempDataDictionary> tempData = new Mock <ITempDataDictionary>(); // Arrange - create the controller AdminController target = new AdminController(mock.Object) { TempData = tempData.Object }; // Arrange - create a product Product product = new Product { Name = "Test" }; // Act - try to save the product IActionResult result = target.Edit(product); // Assert - check that the repository was called mock.Verify(m => m.SaveProduct(product)); // Assert - check the result type is a redirection Assert.IsType <RedirectToActionResult>(result); Assert.Equal("Index", (result as RedirectToActionResult).ActionName); }
public void Can_Delete_Valid_Games() { //Arrange Game game = new Game { GameId = 2, Name = "Игра2" }; Mock <IGameRepository> mock = new Mock <IGameRepository>(); mock.Setup(m => m.Games).Returns(new List <Game> { new Game { GameId = 1, Name = "Игра1" }, new Game { GameId = 2, Name = "Игра2" }, new Game { GameId = 3, Name = "Игра3" }, new Game { GameId = 4, Name = "Игра4" }, new Game { GameId = 5, Name = "Игра5" } }); AdminController controller = new AdminController(mock.Object); //Action controller.Delete(game.GameId); //Assert mock.Verify(m => m.DeleteGame(game.GameId)); }
public void Can_Delete_Valid_Product() { //arrange Mock <IProductRepository> mock = new Mock <IProductRepository>(); mock.Setup(m => m.Products).Returns(new Product[] { new Product { ProductID = 1, Name = "P1" }, new Product { ProductID = 2, Name = "P2" }, new Product { ProductID = 3, Name = "P3" } }); AdminController target = new AdminController(mock.Object); //action target.Delete(2); //assert mock.Verify(m => m.DeleteProduct(2)); }
public void Cannot_Save_Invalid_Changes() { //Przygotowanie - tworzenie imitacji repozytorium Mock <IProductRepository> mock = new Mock <IProductRepository>(); //Przygotowanie - towrzenie komtrolera AdminController target = new AdminController(mock.Object); //Przygotowanie - tworznie produktu Product product = new Product { Name = "Test" }; //Przygotownaie - dodanie błędu do stanu modelu target.ModelState.AddModelError("error", "error"); //Działanie - próba zapisania produktu IActionResult result = target.Edit(product); //Asercje - sprawdzenie, czy nie zostało wywołane repozytorium mock.Verify(m => m.SaveProduct(It.IsAny <Product>()), Times.Never()); //Asercje - sprawdzenie typu zwracanego z metody Assert.IsType <ViewResult>(result); }
protected void btnSaveCarrierTypeAs_Click(object sender, System.EventArgs e) { AdminController aCont = new AdminController(); CarrierTypeInfo CarrierType = new CarrierTypeInfo(); CarrierType.PortalId = PortalId; CarrierType.LastModifiedById = UserId; CarrierType.LastModifiedDate = DateTime.Now; CarrierType.CarrierType = txtCarrierType.Text; //save new CarrierType CarrierType.CreatedById = UserId; CarrierType.DateCreated = DateTime.Now; int CarrierTypeId = aCont.Add_CarrierType(CarrierType); txtSelectedCarrierType.Value = CarrierTypeId.ToString(); txtCarrierTypeCreatedBy.Value = UserId.ToString(); txtCarrierTypeCreatedDate.Value = DateTime.Now.Ticks.ToString(); lblCarrierTypeMessage.Text = "Client Type Saved."; //fillDropDowns(""); fillCarrierTypes(); FillCarrierTypeList(); }
public void Index_Contains_All_Products() { var mock = new Mock <IProductRepository>(); mock.Setup(m => m.Products).Returns(new Product[] { new Product { ProductId = 1, Name = "P1" }, new Product { ProductId = 2, Name = "P2" }, new Product { ProductId = 3, Name = "P3" }, }.AsQueryable()); var target = new AdminController(mock.Object); var result = GetViewModel <IEnumerable <Product> >(target.Index())?.ToArray(); Assert.Equal(3, result.Length); Assert.Equal("P1", result[0].Name); Assert.Equal("P2", result[1].Name); Assert.Equal("P3", result[2].Name); }
//[Fact] public async Task AddLoanPost_ReturnsARedirectedViewResult_ValidModelState() { //Arrange var controller = new AdminController(_adminMock.Object, _userMock.Object, _loginMock.Object, _userInfoMock.Object, _userManagerMock.Object, _transfersReportsMock.Object, _countersReportMock.Object, _filtersReportMock.Object); var LoanModel = new Loan { Name = "abc", Percentage = 10, AccidentInsurance = 10, Purpose = "abc", Term = "abc", Currency = "abc", RepaymentSchedule = "abc", AdvancedPayment = "abc", InterestRate = 10, MinAmount = 10, MaxAmount = 100, Id = 1000, InsuranceLoan = 10, LoanInterestRate = 10, ServiceFee = 10, AccountLoans = null, }; //Act var result = await controller.AddLoan(loan : LoanModel); //Assert var redirectToActionResult = Assert.IsType <RedirectToActionResult>(result); Assert.Equal("Admin", redirectToActionResult.ControllerName); Assert.Equal("LoansManagment", redirectToActionResult.ActionName); }
public void EndreKunde_funnet() { var SessionMock = new TestControllerBuilder(); var controller = new AdminController(new AdminBLL(new AdminRepositoryStub())); SessionMock.InitializeController(controller); controller.Session["AdminLoggetInn"] = true; var innKunde = new Kunde() { fornavn = "Ole", etternavn = "Olsen", adresse = "Storgata 1", postnr = "3557", poststed = "Molde" }; // Act var actionResultat = (RedirectToRouteResult)controller.EndreKunde(1, innKunde); // Assert Assert.AreEqual(actionResultat.RouteName, ""); Assert.AreEqual(actionResultat.RouteValues.Values.First(), "Liste"); }
public void Index_Contains_All_Products() { Mock <IBookRepository> mock = new Mock <IBookRepository>(); mock.Setup(m => m.Books).Returns(new Book[] { new Book { BookID = 1, Title = "Book1" }, new Book { BookID = 2, Title = "Book2" }, new Book { BookID = 3, Title = "Book3" } }); AdminController target = new AdminController(mock.Object); Book[] result = ((IEnumerable <Book>)target.Index().ViewData.Model).ToArray(); Assert.AreEqual(result.Length, 3); Assert.AreEqual("Book1", result[0].Title); Assert.AreEqual("Book2", result[1].Title); Assert.AreEqual("Book3", result[2].Title); }
public void Cannot_Edit_Nonexistent_Lot() { // Arrange - create the mock repository Mock <ILotRepository> mock = new Mock <ILotRepository>(); mock.Setup(m => m.Lots).Returns(new Lot[] { new Lot { LotID = 1, Name = "P1" }, new Lot { LotID = 2, Name = "P2" }, new Lot { LotID = 3, Name = "P3" }, }.AsQueryable()); // Arrange - create the controller AdminController target = new AdminController(mock.Object); // Act Lot result = (Lot)target.Edit(4).ViewData.Model; // Assert Assert.IsNull(result); }
public void Can_Edit_Game() { //Arrange Mock <IGameRepository> mock = new Mock <IGameRepository>(); mock.Setup(m => m.Games).Returns(new List <Game> { new Game { GameId = 1, Name = "Игра1" }, new Game { GameId = 2, Name = "Игра2" }, new Game { GameId = 3, Name = "Игра3" }, new Game { GameId = 4, Name = "Игра4" }, new Game { GameId = 5, Name = "Игра5" } }); AdminController controller = new AdminController(mock.Object); //Action Game game1 = controller.Edit(1).ViewData.Model as Game; Game game2 = controller.Edit(2).ViewData.Model as Game; Game game3 = controller.Edit(3).ViewData.Model as Game; //Assert Assert.AreEqual(1, game1.GameId); Assert.AreEqual(2, game2.GameId); Assert.AreEqual(3, game3.GameId); }
public void Can_Delete_Valid_Product() { Mock <IProductRepository> mock = new Mock <IProductRepository>(); var prod = new Product { ProductID = 2, Name = "P2" }; mock.Setup(m => m.Products).Returns(new Product[] { new Product { ProductID = 1, Name = "P1" }, prod, new Product { ProductID = 3, Name = "P3" } }); AdminController target = new AdminController(mock.Object); var result = target.Delete(prod.ProductID); mock.Verify(m => m.DeleteProduct(prod.ProductID)); }
public async Task RegisterReturnsViewResultAndCorrectModelWhenUserCreationIsNotSuccessful() { var model = new RegisterViewModel(); var generalSettings = new Mock <IOptions <GeneralSettings> >(); generalSettings.Setup(x => x.Value).Returns(new GeneralSettings()); var userManager = UserManagerMockHelper.CreateUserManagerMock(); userManager.Setup(x => x.CreateAsync(It.IsAny <ApplicationUser>(), It.IsAny <string>())).ReturnsAsync(IdentityResult.Failed()); var sut = new AdminController(userManager.Object, null, null, null, generalSettings.Object); sut.SetFakeHttpRequestSchemeTo(It.IsAny <string>()); var result = await sut.Register(model) as ViewResult; var modelResult = result.ViewData.Model as RegisterViewModel; Assert.IsType <ViewResult>(result); Assert.IsType <RegisterViewModel>(modelResult); Assert.Same(model, modelResult); }
protected void btnSaveFreightTypeAs_Click(object sender, System.EventArgs e) { AdminController aCont = new AdminController(); FreightTypeInfo FreightType = new FreightTypeInfo(); FreightType.PortalId = PortalId; FreightType.LastModifiedById = UserId; FreightType.LastModifiedDate = DateTime.Now; FreightType.FreightType = txtFreightType.Text; //save new FreightType FreightType.CreatedById = UserId; FreightType.DateCreated = DateTime.Now; int FreightTypeId = aCont.Add_FreightType(FreightType); txtSelectedFreightType.Value = FreightTypeId.ToString(); txtFreightTypeCreatedBy.Value = UserId.ToString(); txtFreightTypeCreatedDate.Value = DateTime.Now.Ticks.ToString(); lblFreightTypeMessage.Text = "Freight Type Saved."; fillFreightTypes(); FillFreightTypeList(); //fillDropDowns(""); }
public void WhenAdminLoginSuccess_ThenRedirectToProductController() { // Arrange UserModel model = new UserModel() { Email = "admin@demo", Password = "******" }; session.SetupGet(s => s["Login"]).Returns(model.Email); http.SetupGet(x => x.Session).Returns(session.Object); // Act ControllerContext ctx = new ControllerContext(); ctx.HttpContext = http.Object; var controller = new AdminController(); controller.ControllerContext = ctx; RedirectToRouteResult result = controller.Login(model) as RedirectToRouteResult; // Assert Assert.IsNotNull(result); Assert.AreEqual("Index", result.RouteValues["action"]); }
public async Task RegisterAddsIdentityResultErrorsToModelStateErrorsWhenUserCreationIsNotSuccessful() { var generalSettings = new Mock <IOptions <GeneralSettings> >(); generalSettings.Setup(x => x.Value).Returns(new GeneralSettings()); var identityResult = IdentityResult.Failed(new IdentityError { Description = "IdentityErrorDescription" }); var userManager = UserManagerMockHelper.CreateUserManagerMock(); userManager.Setup(x => x.CreateAsync(It.IsAny <ApplicationUser>(), It.IsAny <string>())).ReturnsAsync(identityResult); var sut = new AdminController(userManager.Object, null, null, null, generalSettings.Object); sut.SetFakeHttpRequestSchemeTo(It.IsAny <string>()); await sut.Register(new RegisterViewModel()); var errorMessages = sut.ModelState.GetErrorMessages(); Assert.Equal(errorMessages.Single(), identityResult.Errors.Select(x => x.Description).Single()); }
public void Index_Contains_All_Games() { //Arrange Mock <IGameRepository> mock = new Mock <IGameRepository>(); mock.Setup(m => m.Games).Returns(new List <Game> { new Game { GameId = 1, Name = "Игра1" }, new Game { GameId = 2, Name = "Игра2" }, new Game { GameId = 3, Name = "Игра3" }, new Game { GameId = 4, Name = "Игра4" }, new Game { GameId = 5, Name = "Игра5" } }); AdminController controller = new AdminController(mock.Object); //Action List <Game> result = ((IEnumerable <Game>)controller.Index(). ViewData.Model).ToList(); //Assert Assert.AreEqual(result.Count(), 5); Assert.AreEqual("Игра1", result[0].Name); Assert.AreEqual("Игра2", result[1].Name); Assert.AreEqual("Игра3", result[2].Name); }
public void AdminController_Edit_CannotEditNonexistingProduct() { // Arrange Mock <IProductRepository> mock = new Mock <IProductRepository>(); mock.Setup(m => m.Products).Returns(new Product[] { new Product { ProductID = 1, Name = "P1", Category = "Cat1" }, new Product { ProductID = 2, Name = "P2", Category = "Cat2" }, new Product { ProductID = 3, Name = "P3", Category = "Cat1" }, }.AsQueryable()); var target = new AdminController(mock.Object); // Act var result = target.Edit(4).ViewData.Model as Product; // Assert Assert.IsNull(result); }
public void Cannot_Edit_Nonexistant_Product() { //Arrangemock repository Mock <IProductRepository> mock = new Mock <IProductRepository>(); mock.Setup(m => m.Products).Returns(new Product[] { new Product { ProductID = 1, Name = "P1" }, new Product { ProductID = 2, Name = "P2" }, new Product { ProductID = 3, Name = "P3" }, }); //Arrange contrlr AdminController target = new AdminController(mock.Object); Product result = (Product)target.Edit(4).ViewData.Model; //Assert Assert.IsNull(result); }
protected void gvFreightType_SelectedIndexChanged(object sender, System.EventArgs e) { AdminController aCont = new AdminController(); txtSelectedFreightType.Value = (gvFreightType.SelectedRow.FindControl("hdngvFreightTypeId") as HiddenField).Value; FreightTypeInfo FreightType = aCont.Get_FreightTypeById(Convert.ToInt32(txtSelectedFreightType.Value)); if (FreightType.Id != -1) { btnDeleteFreightType.Enabled = true; btnSaveFreightTypeAs.Enabled = true; txtFreightTypeCreatedBy.Value = FreightType.CreatedById.ToString(); txtFreightTypeCreatedDate.Value = FreightType.DateCreated.Ticks.ToString(); txtFreightType.Text = FreightType.FreightType; lblFreightTypeMessage.Text = ""; } else { btnDeleteFreightType.Enabled = false; btnSaveFreightTypeAs.Enabled = false; clearFreightType(); lblFreightTypeMessage.Text = "There was an error loading this Freight Type."; } }
public void GetWaiterInfo() { //a standard lookup process AdminController sysmgr = new AdminController(); var Waiter = sysmgr.GetWaiterByID(int.Parse(WaiterList.SelectedValue)); WaiterID.Text = Waiter.WaiterID.ToString(); FirstName.Text = Waiter.FirstName; LastName.Text = Waiter.LastName; Address.Text = Waiter.Address; Phone.Text = Waiter.Phone; HireDate.Text = Waiter.HireDate.ToShortDateString(); //null field check if (Waiter.ReleaseDate.HasValue) { ReleaseDate.Text = Waiter.ReleaseDate.ToString(); } else { ReleaseDate.Text = ""; } }
public void AdminController_Delete_CannotDeleteInvalidProduct() { // Arrange Mock <IProductRepository> mock = new Mock <IProductRepository>(); mock.Setup(m => m.Products).Returns(new Product[] { new Product { ProductID = 1, Name = "P1", Category = "Cat1" }, new Product { ProductID = 2, Name = "P2", Category = "Cat2" }, new Product { ProductID = 3, Name = "P3", Category = "Cat1" }, }.AsQueryable()); var target = new AdminController(mock.Object); // Act target.Delete(100); // Assert mock.Verify(m => m.Delete(It.IsAny <Product>()), Times.Never()); }