コード例 #1
0
        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");
        }
コード例 #2
0
        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");
        }
コード例 #3
0
        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);
        }
コード例 #4
0
        public async Task List_Ticket_6()
        {
            DbHandler ticket = new DbHandler(connString);

            // Filter and count lines
            TicketFilterTemplate filter = new TicketFilterTemplate();

            filter.System    = "atihome";
            filter.Reference = "test";
            var respond = await ticket.ListTicketsAsync(2, 5, filter);

            Assert.AreEqual(5, respond.Count, "Final: Not 5 element has returned");
            Assert.AreEqual(192, respond[0].Id, "Not the 3. element return as first");
        }
コード例 #5
0
        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");
        }
コード例 #6
0
        public async Task List_Ticket_5()
        {
            DbHandler ticket = new DbHandler(connString);

            // Filter and expect null return
            TicketFilterTemplate filter1 = new TicketFilterTemplate();

            filter1.Category = "Sajt";
            var respond1 = await ticket.ListTicketsAsync(filter1);

            Assert.AreEqual(0, respond1.Count, "Final #1: This should have 0 element");

            TicketFilterTemplate filter2 = new TicketFilterTemplate();

            filter2.Reference = "non-exist";
            var respond2 = await ticket.ListTicketsAsync(filter2);

            Assert.AreEqual(0, respond2.Count, "Final #2: This should have 0 element");
        }
コード例 #7
0
        public async Task Assing_Ticket()
        {
            DbHandler ticket = new DbHandler(connString);
            var       user   = await ticket.GetUserAsync("test-user-1");

            var disp = await ticket.GetUserAsync("Dispatcher");

            TicketFilterTemplate filter = new TicketFilterTemplate();

            filter.System    = "test-system-1";
            filter.Reference = "test-ref-1";
            filter.Status    = "Open";
            var ticketList = await ticket.ListTicketsAsync(filter);

            var response1 = await ticket.AssignUserToTicketAsync(user, ticketList[0]);

            Assert.IsNotNull(response1);
            Assert.AreEqual(MessageType.OK, response1.MessageType);

            var response2 = await ticket.AssignUserToTicketAsync(disp, ticketList[0]);

            Assert.IsNotNull(response2);
            Assert.AreEqual(MessageType.OK, response2.MessageType);
        }
コード例 #8
0
        public async Task <IActionResult> ListTickets(string username = null, bool unassigned = false, string category = null, string system = null, string status = null, string reference = null, string title = null, int skip = -1, int count = -1)
        {
            TicketFilterTemplate filter = new TicketFilterTemplate();

            if (!string.IsNullOrEmpty(category))
            {
                filter.Category = category;
            }
            if (!string.IsNullOrEmpty(reference))
            {
                filter.Reference = reference;
            }
            if (!string.IsNullOrEmpty(status))
            {
                filter.Status = status;
            }
            if (!string.IsNullOrEmpty(system))
            {
                filter.System = system;
            }
            if (!string.IsNullOrEmpty(title))
            {
                filter.Title = title;
            }

            User user = null;

            if (username != null)
            {
                user = await _dbHandler.GetUserAsync(username);
            }

            if (unassigned)
            {
                user = null;
            }

            List <Ticket> respond;

            if (skip != -1 && count != -1)
            {
                if (username == null && !unassigned)
                {
                    respond = await _dbHandler.ListTicketsAsync(skip, count, filter);
                }
                else
                {
                    respond = await _dbHandler.ListTicketsAsync(skip, count, filter, user);
                }
            }
            else
            {
                if (username == null && !unassigned)
                {
                    respond = await _dbHandler.ListTicketsAsync(filter);
                }
                else
                {
                    respond = await _dbHandler.ListTicketsAsync(filter, user);
                }
            }

            if (respond == null)
            {
                return(BadRequest(new GeneralMessage()
                {
                    Message = "Ticket listing has failed"
                }));
            }

            return(Ok(respond));
        }