public async void given_CreateSingleUserCommand_handler_should_have_correct_command_type() { // Assemble CreateUserInputDTO input = new CreateUserInputDTO { FirstName = "test", LastName = "testLastName", Email = "testEmail", Position = "testPosition", Department = "testDepartment", IsAdmin = true, IsActive = true, PermissionList = new Dictionary <Guid, PermissionDetails>() }; var command = new CreateSingleUserCommand(input); var mockAgg = new CreateSingleUserCommandHandlerMockAggregate(); mockAgg.setup_session_to_ensure_addAndCommit_are_called(); var handler = mockAgg.HandlerFactory(); // Apply var result = await handler.Handle(command); // Assert Assert.True(mockAgg.SessionAddWasCalled); Assert.True(mockAgg.SessionCommitWasCalled); }
public async Task <UserDTO> CreateUser([FromBody] CreateUserInputDTO input) { var message = new CreateSingleUserCommand(input); var result = await _commandDispatcher.Execute(message); return(result); }
public async void given_create_user_command_command_dispatcher_should_get_same_command_created_in_controller() { //Assemble var mockAgg = new UserControllerMockAggregate(); var input = new CreateUserInputDTO() { FirstName = "testFName", LastName = "testLName" }; var command = new CreateSingleUserCommand(input); mockAgg.setup_dispatcher_to_verify_createUserCommands_are_the_same(command); var controller = mockAgg.CreateUserController(); //Apply var result = await controller.CreateUser(input); //Assert Assert.IsType <UserDTO>(result); Assert.Equal(result.FirstName, input.FirstName); Assert.Equal(result.LastName, input.LastName); }
public void setup_dispatcher_to_verify_createUserCommands_are_the_same(CreateSingleUserCommand command) { CommandDispatcherMock.Setup(a => a.Execute(It.IsAny <CreateSingleUserCommand>())) .Callback <ICommand <UserDTO> >((a) => { UserCommand = (CreateSingleUserCommand)a; }) .ReturnsAsync(new UserDTO() { FirstName = command.Input.FirstName, LastName = command.Input.LastName }); }