public async Task <IActionResult> RetrieveMailingGroups() { Logger.Trace($"Executing '{nameof(RetrieveMailingGroups)}'."); var userId = HttpContext.GetUserId(); if (userId == null) { return(Unauthorized()); } var request = new RetrieveMailingGroupsRequest(); 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(RetrieveMailingGroupsHandler)}'."); throw; } }
public async Task Should_ReturnOK_When_RetrievingMailingGroupsForUser(int userId, int counts) { var cancellationToken = new CancellationToken(); var databaseContext = Create.MockedDbContextFor <DatabaseContext>(); databaseContext.Set <MailingGroup>().Add(new MailingGroup() { Id = 1, SystemUserId = 1, }); databaseContext.Set <MailingGroup>().Add(new MailingGroup() { Id = 2, SystemUserId = 2, }); databaseContext.Set <MailingGroup>().Add(new MailingGroup() { Id = 3, SystemUserId = 2, }); databaseContext.Set <MailingGroup>().Add(new MailingGroup() { Id = 4, SystemUserId = 3, }); databaseContext.Set <MailingGroup>().Add(new MailingGroup() { Id = 5, SystemUserId = 3, }); databaseContext.Set <MailingGroup>().Add(new MailingGroup() { Id = 6, SystemUserId = 3, }); databaseContext.SaveChanges(); var request = new RetrieveMailingGroupsRequest(); request.SetUserId(userId); var result = await new RetrieveMailingGroupsHandler(databaseContext).Handle(request, cancellationToken); Assert.Multiple(() => { Assert.IsTrue(result.Success); Assert.AreEqual(result.StatusCode, HttpStatusCode.OK); Assert.AreEqual(result.MailingGroups.Count(), counts); }); }