コード例 #1
0
        public async Task GetMembershipByIdQueryHandler_ShouldReturnMembership_WhenMembershipExists()
        {
            // Arrange
            GetMembershipByIdQuery request = new GetMembershipByIdQuery {
                GroupMembershipId = 1
            };

            IEnumerable <GroupMembership> expectedMemberships = new[]
            {
                new GroupMembership {
                    GroupMembershipId = 1
                }
            };

            IQueryable <GroupMembership> queryableMock = expectedMemberships
                                                         .AsQueryable()
                                                         .BuildMock()
                                                         .Object;

            _unitOfWorkMock
            .Setup(m => m.GroupMemberships.GetById(request.GroupMembershipId))
            .Returns(queryableMock);

            GetMembershipByIdQuery.Handler handler = new GetMembershipByIdQuery.Handler(_mapperMock, _unitOfWorkMock.Object);

            // Act
            GroupMembershipResource membership = await handler.Handle(request);

            // Assert
            Assert.NotNull(membership);
            Assert.Equal(request.GroupMembershipId, membership.GroupMembershipId);
        }
コード例 #2
0
        public async Task GetMembershipByIdQueryHandler_ShouldReturnNull_WhenMembershipDoesNotExist()
        {
            // Arrange
            GetMembershipByIdQuery request = new GetMembershipByIdQuery {
                GroupMembershipId = 1
            };

            IQueryable <GroupMembership> expectedMemberships = Enumerable
                                                               .Empty <GroupMembership>()
                                                               .AsQueryable()
                                                               .BuildMock()
                                                               .Object;

            _unitOfWorkMock
            .Setup(m => m.GroupMemberships.GetById(request.GroupMembershipId))
            .Returns(expectedMemberships);

            GetMembershipByIdQuery.Handler handler = new GetMembershipByIdQuery.Handler(_mapperMock, _unitOfWorkMock.Object);

            // Act
            GroupMembershipResource membership = await handler.Handle(request);

            // Assert
            Assert.Null(membership);
        }
コード例 #3
0
        public async Task <IActionResult> GetMembershipById([FromRoute] int id)
        {
            var query  = new GetMembershipByIdQuery(id);
            var result = await _mediator.Send(query);

            return(Ok(result));
        }
コード例 #4
0
    public async Task <ActionResult <GroupMembershipResource> > GetMembershipById([FromRoute] int membershipId, CancellationToken cancellationToken = default)
    {
        GetMembershipByIdQuery fetchQuery = new GetMembershipByIdQuery {
            GroupMembershipId = membershipId
        };

        GroupMembershipResource membership = await _mediator.Send(fetchQuery, cancellationToken);

        if (membership == null)
        {
            return(NotFound(new ErrorResource
            {
                StatusCode = StatusCodes.Status404NotFound,
                Message = $"Membership with ID '{membershipId}' does not exist"
            }));
        }

        return(Ok(membership));
    }