public void AddHardwareTicket_WithValidTicket_ReturnsAddedTicket() { // arrange int accountid = 1; string problem = "Ticket text"; string device = "PC-1"; int ticketId = 1; // will be added in repo var repo = new Mock <ITicketRepository>(); repo .Setup(x => x.CreateTicket(It.IsAny <Ticket>())) .Returns((Ticket t) => { t.TicketNumber = ticketId; return(t); }); var mgr = new TicketManager(repo.Object); // act var result = mgr.AddTicket(accountid, device, problem); // assert Assert.Equal(ticketId, result.TicketNumber); }
public HttpResponseMessage PostTicket(TicketSave ticket) { try { return(Request.CreateResponse(manager.AddTicket(ticket))); } catch (Exception ex) { GlobalVariable.log.Write(LogLevel.Error, ex); return(Request.CreateResponse(HttpStatusCode.BadRequest, "Ticket cannot be created!")); } }
public ActionResult AddTicket(TicketCreateView TCV) { if (ModelState.IsValid) { TicketManager TM = new TicketManager(); UserManager UM = new UserManager(); TCV.UserID = UM.GetUserID(TCV.LoginName); TM.AddTicket(TCV); return(RedirectToAction("Welcome", "Home")); } return(View()); }
public void AddTicket_TicketIsinvalid_ReturnsValidationException() { //Arrange TicketManager ticketManager = new TicketManager(ticketRepository); //Act var result = ticketManager.AddTicket(1, "iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii"); //Assert //assertion happens using attribute added to method //implicite private validation method testing //avoiding reflection }
public void ChangeTicketStateToClosed_ChangeOpenStateToClosed_StateHasChanged() { //Arrange TicketManager ticketManager = new TicketManager(ticketRepository); //Act ticketManager.AddTicket(1, "Unit test"); ticketManager.ChangeTicketStateToClosed(1); var result = ticketManager.GetTicket(1); //Assert Assert.AreEqual(result.State, TicketState.Closed); }
public void AddItems(Order orderEditing) { while (true) { view.Clear(); view.ShowOrder(orderEditing.TableNumber(), orderEditing.OpenedFor(), orderEditing.FormattedTempItemsOnOrder(), orderEditing.GetTempOrderCost()); view.ShowMessage("=========================================="); view.ShowMessage("Items available to add:"); view.ShowMessage(itemManager.GetFormattedItems()); view.ShowMessage("Enter the product ID to add to this order, or press 's' to save, or 'c' to cancel changes."); string cmd = Console.ReadLine(); int i = -1; bool status = Int32.TryParse(cmd, out (i)); if (cmd == "s") { // save the order, generate ticket // first save the temp ticket as a real ticket ticketManager.AddTicket(orderEditing.TempTicket()); // add the tempTicket items to the order for real orderEditing.AddItems(orderEditing.TempTicket().Items()); // delete the temp ticket reference orderEditing.SetTempTicket(null); Show(); } else if (cmd == "c") { // purge the temp ticket orderEditing.SetTempTicket(null); Show(); } else if (!status) { view.ShowError("Please enter a valid letter command."); } else if (!(i > 0 && i < itemManager.GetItems().Count + 1)) { view.ShowError("Please enter an item ID in range."); } else { // it's a number. lookup item and add to ticket. orderEditing.TempTicket().AddItem(itemManager.GetItem(i)); // go back to the start of this screen AddItems(orderEditing); } } }
public void RemoveTicket_RemoveTheTicket_TicketRemoved() { //Arrange TicketManager ticketManager = new TicketManager(ticketRepository); //Ticket t = ticketRepository(1); //Act ticketManager.AddTicket(1, "Unit test"); //ticketManager.RemoveTicket(t.TicketNumber); ticketManager.RemoveTicket(1); var result = ticketManager.GetTicket(1); // should throw an exception... but it does not (WIP) //Assert }
public void AddTicket_WithInvalidText_ReturnsValidationError() { // arrange int accountid = 1; string question = "Ticket text should be longer than 100 characters in order to make the verification step of the AddTicket process fail."; var repo = new Mock <ITicketRepository>(); // repo won't be called when validation fails // so we don't need any setup here var mgr = new TicketManager(repo.Object); // act Action result = () => mgr.AddTicket(accountid, question); // assert Assert.Throws <ValidationException>(result); }
public void AddTicket_TicketIsValid_ReturnsTicket() { //Arrange TicketManager ticketManager = new TicketManager(ticketRepository); //When mocking //mockedRepository.Setup(x => x.CreateTicket(It.IsAny<Ticket>())).Returns<Ticket>(x => x); //Act var result = ticketManager.AddTicket(1, "I can't run my unit test, is it broken?"); //Assert Assert.IsInstanceOfType(result, typeof(Ticket)); Assert.AreEqual(result.AccountId, 1); Assert.AreEqual(result.State, TicketState.Open); Assert.AreEqual(result.Text, "I can't run my unit test, is it broken?"); }
public void AddHardwareTicket_WithInvalidDeviceName_ReturnsValidationError() { // arrange int accountid = 1; string problem = "Ticket text"; string device = "1"; var repo = new Mock <ITicketRepository>(); // repo won't be called when validation fails // so we don't need any setup here var mgr = new TicketManager(repo.Object); // act Action result = () => mgr.AddTicket(accountid, device, problem); // assert Assert.Throws <ValidationException>(result); }
/// <summary> /// 投注购票 /// </summary> public void BuyTicket(TicketMappingInfo ticket, UserInfo user) { try { using (ILHDBTran tran = BeginTran()) { UserManager userManager = new UserManager(tran); TicketManager ticketManager = new TicketManager(tran); UserBalanceEntity balance = userManager.GetBalance(user.UserId); if (balance == null) { throw new FacadeException("帐户不存在,请先充值!"); } decimal balanceMoney = balance.Balance.HasValue ? balance.Balance.Value : 0; decimal freezeMoney = balance.Freeze.HasValue ? balance.Freeze.Value : 0; decimal enableMoney = balanceMoney - freezeMoney; if (enableMoney < ticket.Money) { throw new FacadeException("帐户余额不足,请先充值!"); } TicketDetailEntity detail = new TicketDetailEntity(); detail.UserId = user.UserId; detail.TicketId = ticket.TicketId; detail.BalanceBefore = balanceMoney; detail.FreezeBefore = freezeMoney; detail.PayMoney = ticket.Money; detail.BalanceAfter = balanceMoney; detail.FreezeAfter = freezeMoney + ticket.Money; detail.Status = (int)TicketStatus.Requesting; detail.Message = "投注 - 冻结金额" + ticket.Money; detail.CurrentTime = DateTime.Now; // 添加彩票购买明细日志记录 - 状态为请求中 ticketManager.AddTicketDetail(detail); // 更新用户余额 - 冻结金额 balance.Freeze += ticket.Money; userManager.ModifyBalance(balance); TicketEntity entity = new TicketEntity(); entity.TicketId = ticket.TicketId; entity.BuyType = (int)ticket.BuyType; entity.Amount = ticket.Amount; entity.Money = ticket.Money; entity.UserId = user.UserId; entity.GameName = ticket.IssueInfo.GameName; entity.IssuseNumber = ticket.IssueInfo.Number; entity.Status = (int)TicketStatus.Requesting; entity.RequestTime = DateTime.Now; ticketManager.AddTicket(entity); foreach (string code in ticket.AnteCodes) { TicketAnteCodeEntity anteCode = new TicketAnteCodeEntity(); anteCode.TicketId = ticket.TicketId; anteCode.AnteCode = code; ticketManager.AddAnteCode(anteCode); } tran.Commit(); } } catch (Exception ex) { throw HandleException(LogCategory.Ticket, "投注购票失败!", ex, ticket, user); } }