public async Task GetTicket()
        {
            // Inject
            CreateIdentity(Users[0].Auth);

            // Arrange
            SupportTicket addedTicket = new SupportTicket()
            {
                Title = "Testing get", Description = "Testing get description", UserId = Users[0].Id
            };

            using (var a = factory.CreateDbContext())
            {
                await a.AddAsync(addedTicket);

                await a.AddAsync(new SupportTicket()
                {
                    Title = "rawr", Description = "zaw", UserId = Users[0].Id
                });

                await a.SaveChangesAsync();
            }

            var expected = mapper.Map <SupportTicketViewModel>(addedTicket);

            // Act
            var result = await controller.GetTicket(addedTicket.Id);

            // Assert
            Assert.Equal(Serialize(expected), Serialize(((OkObjectResult)result).Value));
        }
Beispiel #2
0
        public static void ProcessTicketResponce(WorldClient Client, string Ticket)
        {
            var a_ticket = TicketController.GetTicket(Ticket);

            lock (ticketProcess)
            {
                if (a_ticket == null)
                {
                    Client.Send(new AccountTicketErrorMessage());
                    return;
                }
                else
                {
                    Client.Account = a_ticket.Account;
                    if (CharacterTable.myCharacterById.Values.Where(x => x.Account != null && x.Account.ID == Client.Account.ID).Count() > 0)
                    {
                        CharacterTable.myCharacterById.Values.Where(x => x.Account != null && x.GetClient() != null && x.Account.ID == Client.Account.ID).ToList().ForEach(x => x.Client.Disconnect());
                        Client.Send(new AccountTicketErrorMessage());
                        return;
                    }
                    AccountTable.UpdateLogged(Client.Account.ID, true);
                    Client.Account.Characters = CharacterTable.FindAll(Client.Account.ID);
                    Client.Account.Characters.Values.ToList().ForEach(x => x.Account = Client.Account);
                    Client.SetState(WorldState.STATE_AUTHENTIFIED);
                    Client.Send(new AccountTicketSuccessMessage());
                    TicketController.DestroyTicket(a_ticket);
                    Client.Account.loadData();
                }
            }
        }
        public void TestGetTicket()
        {
            // db is empty
            using (var context = new ProTickDatabaseContext(dbOptions))
            {
                var dbm       = new DatabaseQueryManager(context);
                var converter = new ResourceDTOConverter(dbm);

                var controller = new TicketController(context, converter, dbm);

                Assert.Throws <DatabaseEntryNotFoundException>(() => controller.GetTicket(0));
            }

            // seeding DB
            using (var context = new ProTickDatabaseContext(dbOptions))
            {
                DbContextSeeder.SeedFull(context);
            }

            // db is Test-Ready
            using (var context = new ProTickDatabaseContext(dbOptions))
            {
                var dbm       = new DatabaseQueryManager(context);
                var converter = new ResourceDTOConverter(dbm);

                var controller = new TicketController(context, converter, dbm);

                var expected = DbContextSeeder.GetSeededTicketDTOs(
                    3,
                    DbContextSeeder.GetSeededStateDTOs(3),
                    DbContextSeeder.GetSeededSubprocessDTOs(
                        3,
                        DbContextSeeder.GetSeededProcessDTOs(3),
                        DbContextSeeder.GetSeededTeamDTOs(3))
                    )
                               .ToList();

                expected[0].Should().BeEquivalentTo(controller.GetTicket(1));
                expected[1].Should().BeEquivalentTo(controller.GetTicket(2));
                expected[2].Should().BeEquivalentTo(controller.GetTicket(3));
            }
        }
        public void GetTicket_WithNonExistingTicketId_NotFoundObjectResult()
        {
            //Arrange
            repoStub.Setup(repo => repo.GetTicket(123)).Returns(null as Ticket);
            //Act
            var controller = new TicketController(repoStub.Object);
            var sut        = controller.GetTicket(123);

            //Assert
            repoStub.VerifyAll();
            var returnString = Assert.IsType <NotFoundObjectResult>(sut);

            Assert.IsType <NotFoundObjectResult>(sut);
            Assert.Equal("Ticket with Id of 123 does not exist", returnString.Value);
        }
Beispiel #5
0
        public async Task <IActionResult> OnGet(int ticketId)
        {
            var userId = HttpContext.Session.GetInt32("UserId");

            if (userId == null) // TODO: Check auth level.
            {
                return(new RedirectToPageResult("Login"));
            }

            try
            {
                // Generate the ticket.
                var ticketController = new TicketController(_configRoot);
                var ticket           = await ticketController.GetTicket(ticketId);

                ViewData["Ticket"]    = ticket;
                ViewData["_ticketId"] = ticketId;

                // Generate users that can accept tickets.
                var userController = new UserController(_configRoot);
                var usersTemp      = await userController.GetAllUsers();

                usersTemp = usersTemp.Where(user => user.AuthLevel != AuthLevel.Guest)
                            .ToList();

                Users = usersTemp.Select(user => new SelectListItem
                {
                    Value = user.UserId.ToString(),
                    Text  = user.UserName,
                }).ToList();

                ViewData["Users"] = Users;
                Description       = ticket.Description;
                Resolution        = ticket.Resolution;

                return(Page());
            }
            catch (Exception ex)
            {
                Debug.WriteLine(ex);
                return(BadRequest());
            }
        }
        public void GetTicket_WithExistingTicketId_OkObjectResult()
        {
            var tic = new Ticket()
            {
                TicketId     = 123, TicketDescription = "test", UserId = "testUId", AssignedUser = "******", Category = "testBug",
                IncidentDate = new DateTime(2021, 11, 04), Priority = "urgent", Status = "in Progress", DueDate = null
            };

            //Arrange
            repoStub.Setup(repo => repo.GetTicket(123)).Returns(tic);
            //Act
            var controller = new TicketController(repoStub.Object);
            var sut        = controller.GetTicket(123);

            //Assert
            repoStub.VerifyAll();
            var returnTicket = Assert.IsType <OkObjectResult>(sut);

            Assert.IsType <OkObjectResult>(sut);
            Assert.Equal(tic, returnTicket.Value);
        }