public async Task CreateStateAsync_Should_Return_CreatedAtRouteResult_With_StateResponse() { var createStateRequest = new CreateStateRequest { Name = "Name", PolishName = "PolishName" }; var createStateCommand = new CreateStateCommand(Guid.NewGuid(), createStateRequest.Name, createStateRequest.PolishName); var stateOutputQuery = new StateOutputQuery(createStateCommand.StateId, Array.Empty <byte>(), createStateCommand.Name, createStateCommand.PolishName); var stateResponse = new StateResponse(stateOutputQuery.Id, stateOutputQuery.RowVersion, stateOutputQuery.Name, stateOutputQuery.PolishName); _mapperMock.Setup(x => x.Map <CreateStateRequest, CreateStateCommand>(It.IsAny <CreateStateRequest>())).Returns(createStateCommand); _communicationBusMock.Setup(x => x.SendCommandAsync(It.IsAny <CreateStateCommand>(), It.IsAny <CancellationToken>())) .Returns(Task.CompletedTask); _getStateQueryHandlerMock .Setup(x => x.HandleAsync(It.IsAny <GetStateInputQuery>(), It.IsAny <CancellationToken>())) .ReturnsAsync(stateOutputQuery); _mapperMock.Setup(x => x.Map <StateOutputQuery, StateResponse>(It.IsAny <StateOutputQuery>())).Returns(stateResponse); var result = await _controller.CreateStateAsync(createStateRequest); var createdAtRouteResult = result.As <CreatedAtRouteResult>(); createdAtRouteResult.Value.Should().BeEquivalentTo(stateResponse); createdAtRouteResult.RouteName.Should().BeEquivalentTo("GetState"); createdAtRouteResult.RouteValues.Should().BeEquivalentTo(new RouteValueDictionary(new { id = stateResponse.Id })); }
public async Task UpdateStateAsync_Should_Return_OkObjectResult_With_StateResponse() { var rowVersion = new byte[] { 1, 2, 4, 8, 16, 32, 64 }; var stateId = Guid.NewGuid(); var updateStateRequest = new UpdateStateRequest { Id = stateId, Name = "Name", PolishName = "PolishName" }; var updateStateCommand = new UpdateStateCommand(updateStateRequest.Id, rowVersion, updateStateRequest.Name, updateStateRequest.PolishName); var stateOutputQuery = new StateOutputQuery(updateStateRequest.Id, new byte[] { 1, 2, 4, 8, 16, 32, 128 }, updateStateRequest.Name, updateStateRequest.PolishName); var stateResponse = new StateResponse(stateOutputQuery.Id, stateOutputQuery.RowVersion, stateOutputQuery.Name, stateOutputQuery.PolishName); _mapperMock.Setup(x => x.Map <UpdateStateRequest, UpdateStateCommand>(It.IsAny <UpdateStateRequest>())) .Returns(updateStateCommand); _communicationBusMock.Setup(x => x.SendCommandAsync(It.IsAny <UpdateStateCommand>(), It.IsAny <CancellationToken>())) .Returns(Task.CompletedTask); _getStateQueryHandlerMock .Setup(x => x.HandleAsync(It.IsAny <GetStateInputQuery>(), It.IsAny <CancellationToken>())) .ReturnsAsync(stateOutputQuery); _mapperMock.Setup(x => x.Map <StateOutputQuery, StateResponse>(It.IsAny <StateOutputQuery>())).Returns(stateResponse); var result = await _controller.UpdateStateAsync(stateId, updateStateRequest, rowVersion); var okObjectResult = result.As <OkObjectResult>(); okObjectResult.Value.Should().BeEquivalentTo(stateResponse); }
public async Task GetStatesAsync_Should_Return_OkObjectResult_With_CollectionResponse_With_StateResponses() { var getStatesRequest = new GetStatesRequest { Page = 1, PageSize = 100, Name = "Name", PolishName = "PolishName", Sort = "name:asc" }; var getStatesInputQuery = new GetStatesInputQuery(getStatesRequest.Page, getStatesRequest.PageSize, getStatesRequest.Sort, getStatesRequest.Name, getStatesRequest.PolishName); var stateOutputQuery = new StateOutputQuery(Guid.NewGuid(), Array.Empty <byte>(), "Name", "PolishName"); var stateOutputQueries = new Collection <StateOutputQuery> { stateOutputQuery }; var collectionOutputQuery = new CollectionOutputQuery <StateOutputQuery>(stateOutputQueries.Count, stateOutputQueries); var stateResponses = stateOutputQueries.Select(x => new StateResponse(x.Id, x.RowVersion, x.Name, x.PolishName)); var collectionResponse = new CollectionResponse <StateResponse>(stateOutputQueries.Count, stateResponses); _mapperMock.Setup(x => x.Map <GetStatesRequest, GetStatesInputQuery>(It.IsAny <GetStatesRequest>())) .Returns(getStatesInputQuery); _getStatesQueryHandlerMock .Setup(x => x.HandleAsync(It.IsAny <GetStatesInputQuery>(), It.IsAny <CancellationToken>())) .ReturnsAsync(collectionOutputQuery); _mapperMock .Setup(x => x.Map <CollectionOutputQuery <StateOutputQuery>, CollectionResponse <StateResponse> >(It.IsAny <CollectionOutputQuery <StateOutputQuery> >())) .Returns(collectionResponse); var result = await _controller.GetStatesAsync(getStatesRequest); var okResult = result.As <OkObjectResult>(); okResult.Value.Should().BeEquivalentTo(collectionResponse); }
public async Task GetStateAsync_Should_Return_OkObjectResult_With_StateResponse() { var stateOutputQuery = new StateOutputQuery(Guid.NewGuid(), Array.Empty <byte>(), "Name", "PolishName"); var stateResponse = new StateResponse(stateOutputQuery.Id, stateOutputQuery.RowVersion, stateOutputQuery.Name, stateOutputQuery.PolishName); _getStateQueryHandlerMock .Setup(x => x.HandleAsync(It.IsAny <GetStateInputQuery>(), It.IsAny <CancellationToken>())) .ReturnsAsync(stateOutputQuery); _mapperMock.Setup(x => x.Map <StateOutputQuery, StateResponse>(It.IsAny <StateOutputQuery>())).Returns(stateResponse); var result = await _controller.GetStateAsync(stateOutputQuery.Id); var okResult = result.As <OkObjectResult>(); okResult.Value.Should().BeEquivalentTo(stateResponse); }
public async Task HandleAsync_Should_Return_StateOutputQuery() { var state = State.Builder() .SetId(Guid.NewGuid()) .SetRowVersion(Array.Empty <byte>()) .SetName("Name") .SetPolishName("PolishName") .Build(); var getStateResult = GetResult <State> .Ok(state); var stateOutputQuery = new StateOutputQuery(state.Id, state.RowVersion, state.Name, state.PolishName); _stateGetterServiceMock.Setup(x => x.GetByIdAsync(It.IsAny <Guid>())).ReturnsAsync(getStateResult); _mapperMock.Setup(x => x.Map <State, StateOutputQuery>(It.IsAny <State>())).Returns(stateOutputQuery); var result = await _queryHandler.HandleAsync(new GetStateInputQuery(state.Id)); result.Should().BeEquivalentTo(stateOutputQuery); }