public async Task Should_ReturnConflict_When_PassNotExistingIdForUser(string name, int mailingGroupId, int userId)
        {
            var cancellationToken = new CancellationToken();

            var databaseContext = Create.MockedDbContextFor <DatabaseContext>();

            databaseContext.Set <MailingGroup>().Add(new MailingGroup()
            {
                Id           = 1,
                Name         = "MailingGroupName1",
                SystemUserId = 1
            });
            databaseContext.Set <MailingGroup>().Add(new MailingGroup()
            {
                Id           = 2,
                Name         = "MailingGroupName2",
                SystemUserId = 2
            });

            databaseContext.SaveChanges();

            var request = new UpdateMailingGroupRequest(mailingGroupId, name);

            request.SetUserId(userId);

            var result = await new UpdateMailingGroupHandler(databaseContext).Handle(request, cancellationToken);

            Assert.Multiple(() =>
            {
                Assert.IsFalse(result.Success);
                Assert.AreEqual(result.StatusCode, HttpStatusCode.NotFound);
            });
        }
Ejemplo n.º 2
0
        public async Task <IActionResult> UpdateMailingGroup([FromRoute][Required] int mailingGroupId, [FromBody] UpdateMailingGroupDto dto)
        {
            Logger.Trace($"Executing '{nameof(UpdateMailingGroup)}'.");

            var userId = HttpContext.GetUserId();

            if (userId == null)
            {
                return(Unauthorized());
            }

            var request = new UpdateMailingGroupRequest(mailingGroupId, dto.Name);

            request.SetUserId(userId.Value);

            try
            {
                var result = await _mediator.Send(request);

                return(result.GetResult());
            }
            catch (Exception ex)
            {
                Logger.Error(ex, $"Unexpected error thrown while executing '{nameof(UpdateMailingGroupHandler)}'.");
                throw;
            }
        }
        public async Task Should_ReturnOK_When_PassUniqueNameToChangeForUser(string name, int mailingGroupId, int userId)
        {
            var cancellationToken = new CancellationToken();

            var databaseContext = Create.MockedDbContextFor <DatabaseContext>();

            databaseContext.Set <MailingGroup>().Add(new MailingGroup()
            {
                Id           = 1,
                Name         = "MailingGroupName1",
                SystemUserId = 1
            });
            databaseContext.Set <MailingGroup>().Add(new MailingGroup()
            {
                Id           = 2,
                Name         = "MailingGroupName2",
                SystemUserId = 2
            });

            databaseContext.SaveChanges();

            var request = new UpdateMailingGroupRequest(mailingGroupId, name);

            request.SetUserId(userId);

            var result = await new UpdateMailingGroupHandler(databaseContext).Handle(request, cancellationToken);

            Assert.Multiple(() =>
            {
                Assert.IsTrue(result.Success);
                Assert.AreEqual(result.StatusCode, HttpStatusCode.OK);

                Assert.AreEqual(databaseContext.MailingGroups.Count(), 2);
                Assert.AreEqual(databaseContext.MailingGroups.Count(x => x.Name == name), 1);
                Assert.AreEqual(databaseContext.MailingGroups.Count(x => x.Name != name), 1);

                Assert.AreEqual(databaseContext.MailingGroups.Single(x => x.Name == name).Id, mailingGroupId);
            });
        }