public async Task Create_Close_Ticket_2() { DbHandler ticket = new DbHandler(connString); // Open ticket TicketCreationTemplate crt = new TicketCreationTemplate(); crt.Category = await ticket.GetCategoryAsync("Teszt", await ticket.GetSystemAsync("atihome")); crt.Details = "Here is the details"; crt.Reference = "unit-test-2"; crt.Summary = "Test of ticket"; crt.Title = "Test ticket"; var respond1 = await ticket.CreateTicketAsync(crt); Assert.AreEqual(MessageType.OK, respond1.MessageType, "Final: Ticket could not be created"); // Looking for its ID TicketFilterTemplate filter = new TicketFilterTemplate(); filter.System = "atihome"; filter.Status = "Open"; filter.Reference = "unit-test-2"; var respond2 = await ticket.ListTicketsAsync(filter); Assert.AreEqual(1, respond2.Count, "Preparation: Not one ticket was found for the filter"); // Close ticket by ID var respond3 = await ticket.CloseTicketAsync(respond2[0].Id, null); Assert.AreEqual(MessageType.OK, respond3.MessageType, "Final: Ticket could not be closed based on ID"); }
public async Task Change_Ticket_Test_1() { DbHandler ticket = new DbHandler(connString); // Open ticket and send 2 further update TicketCreationTemplate crt = new TicketCreationTemplate(); crt.Category = await ticket.GetCategoryAsync("Teszt", await ticket.GetSystemAsync("atihome")); crt.Details = "Here is the details"; crt.Reference = "unit-test-change-1"; crt.Summary = "Test of ticket"; crt.Title = "Test ticket"; var respond1 = await ticket.CreateTicketAsync(crt); Assert.AreEqual(MessageType.OK, respond1.MessageType, "Preparation: Ticket could not be created"); // Query for the opened change TicketFilterTemplate filter1 = new TicketFilterTemplate(); filter1.System = "atihome"; filter1.Status = "Open"; filter1.Reference = crt.Reference; var respond12 = await ticket.ListTicketsAsync(filter1); Assert.AreEqual(1, respond12.Count, "Preparation: opened ticket was not found"); // Change the category to Tesztike TicketChangeTemplate chg = new TicketChangeTemplate(); chg.Id = respond12[0].Id; chg.Category = await ticket.GetCategoryAsync("Hardware", await ticket.GetSystemAsync("atihome")); var respond2 = await ticket.ChangeTicketAsync(chg); Assert.AreEqual(MessageType.OK, respond2.MessageType, "Final: Ticket change was failed"); // Query the latest changed ticket TicketFilterTemplate filter2 = new TicketFilterTemplate(); filter2.System = "atihome"; filter2.Status = "Open"; filter2.Reference = crt.Reference; filter2.Category = "Hardware"; var respond3 = await ticket.ListTicketsAsync(filter2); Assert.AreEqual(1, respond3.Count, "Final: No ticket was found with the changed category name"); // Close ticket var respond4 = await ticket.CloseTicketAsync(crt.Reference, "atihome", null); Assert.AreEqual(MessageType.OK, respond4.MessageType, "Post: Close was failed"); }
public async Task Change_Ticket_Test_2() { DbHandler ticket = new DbHandler(connString); // Open ticket and send 2 further update TicketCreationTemplate crt = new TicketCreationTemplate(); crt.Category = await ticket.GetCategoryAsync("Teszt", await ticket.GetSystemAsync("atihome")); crt.Details = "Here is the details"; crt.Reference = "unit-test-change-2"; crt.Summary = "Test of ticket"; crt.Title = "Test ticket"; var respond1 = await ticket.CreateTicketAsync(crt); Assert.AreEqual(MessageType.OK, respond1.MessageType, "Preparation: Ticket could not be created"); var ticketHead1 = await ticket.ListTicketsAsync(new TicketFilterTemplate() { Reference = crt.Reference, Status = "Open", System = "atihome" }); string old_cat = ticketHead1[0].Category.Name; // Query for the opened change TicketFilterTemplate filter1 = new TicketFilterTemplate(); filter1.System = "atihome"; filter1.Status = "Open"; filter1.Reference = crt.Reference; var respond12 = await ticket.ListTicketsAsync(filter1); Assert.AreEqual(1, respond12.Count, "Preparation: opened ticket was not found"); // Try to change for a non-existing category TicketChangeTemplate chg = new TicketChangeTemplate(); chg.Id = respond12[0].Id; chg.Category = await ticket.GetCategoryAsync("non-exist", await ticket.GetSystemAsync("atihome")); var respond2 = await ticket.ChangeTicketAsync(chg); var ticketHead2 = await ticket.ListTicketsAsync(new TicketFilterTemplate() { Reference = crt.Reference, Status = "Open", System = "atihome" }); Assert.AreEqual(old_cat, ticketHead2[0].Category.Name, "Final: Ticket was changed to the a non-exist category"); // Close the ticket await ticket.CloseTicketAsync(crt.Reference, "atihome", null); }
public async Task Details_Test_1() { DbHandler ticket = new DbHandler(connString); // Open ticket and send 2 further update TicketCreationTemplate crt = new TicketCreationTemplate(); crt.Category = await ticket.GetCategoryAsync("Teszt", await ticket.GetSystemAsync("atihome")); crt.Details = "Here is the details"; crt.Reference = "unit-test-3"; crt.Summary = "Test of ticket"; crt.Title = "Test ticket"; var respond1 = await ticket.CreateTicketAsync(crt); Assert.AreEqual(MessageType.OK, respond1.MessageType, "Final: Ticket could not be created"); var respond2 = await ticket.CreateTicketAsync(crt); Assert.AreEqual(MessageType.OK, respond2.MessageType, "Final: Ticket could not be created"); var respond3 = await ticket.CreateTicketAsync(crt); Assert.AreEqual(MessageType.OK, respond2.MessageType, "Final: Ticket could not be created"); // Looking for its ID TicketFilterTemplate filter = new TicketFilterTemplate(); filter.System = "atihome"; filter.Status = "Open"; filter.Reference = "unit-test-3"; var respond4 = await ticket.ListTicketsAsync(filter); Assert.AreEqual(1, respond4.Count, "Preparation: Not one ticket was found for the filter"); // Get details about it var respond5 = await ticket.GetDetailsAsync(respond4[0].Id); Assert.IsNotNull(respond5, "Final: Details returned with null"); Assert.IsNotNull(respond5.Header, "Final: Header is null"); Assert.IsNotNull(respond5.Logs, "Final: Logs is null"); Assert.AreEqual(3, respond5.Logs.Count, "Not 3 update in the ticket"); // Close by refernce value var respond6 = await ticket.CloseTicketAsync(crt.Reference, "atihome", null); Assert.AreEqual(MessageType.OK, respond6.MessageType, "Close was failed"); }
public async Task Create_Close_Ticket_1() { DbHandler ticket = new DbHandler(connString); // Open ticket TicketCreationTemplate crt = new TicketCreationTemplate(); crt.Category = await ticket.GetCategoryAsync("Teszt", await ticket.GetSystemAsync("atihome")); crt.Details = "Here is the details"; crt.Reference = "unit-test-1"; crt.Summary = "Test of ticket"; crt.Title = "Test ticket"; var respond1 = await ticket.CreateTicketAsync(crt); Assert.AreEqual(MessageType.OK, respond1.MessageType, "Final: Ticket could not be created"); // Close by reference value var respond2 = await ticket.CloseTicketAsync(crt.Reference, "atihome", null); Assert.AreEqual(MessageType.OK, respond1.MessageType, "Final: Ticket could not be closed based on reference value"); }
public async Task <IActionResult> CreateTicket(TicketCreationInput info) { var sys = await _dbHandler.GetSystemAsync(info.System); if (sys == null) { return(BadRequest(new GeneralMessage() { Message = "Invalid system name" })); } var cat = await _dbHandler.GetCategoryAsync(info.CategoryName, sys); if (cat == null) { return(BadRequest(new GeneralMessage() { Message = "Invalid category" })); } TicketCreationTemplate template = new TicketCreationTemplate(); template.Category = cat; template.Details = info.Details; template.Reference = info.Reference; template.Summary = info.Summary; template.Title = info.Title; if (info.Details == null) { template.Details = info.Summary; } // Get user who wants remove user var re = Request; var headers = re.Headers; var tokenString = headers["Authorization"]; var handler = new JwtSecurityTokenHandler(); var token = handler.ReadJwtToken(tokenString[0].Split(' ')[1]); var claims = token.Claims; var usernameClaim = claims.Where(x => x.Type == ClaimTypes.Name).FirstOrDefault(); var user = await _dbHandler.GetUserAsync(usernameClaim.Value); template.CreatorUser = user; var respond = await _dbHandler.CreateTicketAsync(template); if (respond.MessageType == MessageType.NOK) { return(BadRequest(new GeneralMessage() { Message = respond.MessageText })); } return(Ok(new GeneralMessage() { Message = respond.MessageText })); }