Esempio n. 1
0
        public async Task <IActionResult> Edit(string id, TicketManagementDTO ticket)
        {
            if (id != ticket.Id)
            {
                _logger.LogError($"Id did not match when editing Ticket: Expected id was - {id}, Received id was -{ticket.Id}");
                return(RedirectToAction(nameof(Index)));
            }

            if (ModelState.IsValid)
            {
                try
                {
                    Ticket ticketItem = _mapper.Map <Ticket>(ticket);
                    _repositoryWrapper.Ticket.UpdateTicket(ticketItem);

                    await _repositoryWrapper.SaveAsync();
                }
                catch (Exception ex)
                {
                    _logger.LogError($"Concurrency Error when editing event : {ticket.Id}; EXCEPTION {ex}");
                }
                return(RedirectToAction(nameof(Index)));
            }
            return(View(nameof(Edit), ticket));
        }
Esempio n. 2
0
        public async void RedirectToIndexIfIdsDontMatchOnPost()
        {
            string id = "some_string";
            TicketManagementDTO tm = new TicketManagementDTO()
            {
                Id = "notMatching"
            };

            var result = await sut.Edit(id, tm);

            Assert.IsAssignableFrom <RedirectToActionResult>(result);
        }
Esempio n. 3
0
        public async void CallUpdateTicketInRepository()
        {
            string id = "Matching";
            TicketManagementDTO tm = new TicketManagementDTO()
            {
                Id = "Matching", Actioned = true
            };

            var result = await sut.Edit(id, tm);

            Assert.IsAssignableFrom <RedirectToActionResult>(result);

            fixture.repositoryWrapper.Verify(x => x.Ticket.UpdateTicket(It.IsAny <Ticket>()), Times.Once);
            fixture.repositoryWrapper.Verify(y => y.SaveAsync(), Times.Once);
        }
Esempio n. 4
0
        public async void ReturnViewIfModelStateInvalid()
        {
            sut.ModelState.AddModelError(string.Empty, "Invalid TicketManagementDTO");

            string id = "Matching";
            TicketManagementDTO tm = new TicketManagementDTO()
            {
                Id = "Matching"
            };

            var result = await sut.Edit(id, tm);

            var vr = Assert.IsType <ViewResult>(result);

            fixture.repositoryWrapper.Verify(x => x.Ticket.UpdateTicket(It.IsAny <Ticket>()), Times.Never);
            fixture.repositoryWrapper.Verify(y => y.SaveAsync(), Times.Never);
            Assert.Equal("Edit", vr.ViewName);
            Assert.IsType <TicketManagementDTO>(vr.Model);
        }