public async Task <ActionResult> Post([FromBody] CreateCustomerCommand command) { var commandResult = await _customerHandler.Handle(command); if (!commandResult.Success) { return(BadRequest(commandResult.Data)); } return(Ok(commandResult.Data)); }
public async Task GiveGetCustomerQueryWhenHandleThenCustomerDetails() { // Arrange var expect = new Customer { Age = 35, City = "Chennai", Country = "India", Name = "Mark", State = "Tamil Nadu", CustomerId = Guid.NewGuid(), }; var mockMapper = new MapperConfiguration(cfg => { cfg.AddProfile(new CustomerProfile()); }); var mapper = mockMapper.CreateMapper(); var redis = A.Fake <ICustomerRedisContext>(); A.CallTo(() => redis.GetCustomer(expect.CustomerId)).Returns(expect); var handle = new CustomerHandler(mapper, redis); // Act var response = await handle.Handle(new GetCustomerRequest(expect.CustomerId), A.Dummy <CancellationToken>()).ConfigureAwait(false); // Assert Assert.Equal(35, response.Age); }
public async Task <ActionResult <GenericCommandResult> > AddCreditCard( [FromBody] CreateCustomerCreditCardCommand command, [FromServices] CustomerHandler handler ) { var role = User.Claims.FirstOrDefault(x => x.Type.Equals(ClaimTypes.Role))?.Value; var customerId = int.Parse(User.Claims.FirstOrDefault(x => x.Type.Equals(ClaimTypes.NameIdentifier))?.Value); if (command.CustomerId == 0) { command.CustomerId = customerId; } if (customerId != command.CustomerId && role != "manager") { return(Unauthorized()); } var validationResult = command.Validate(); if (!validationResult.Success) { return(BadRequest(validationResult)); } var result = (GenericCommandResult)handler.Handle(command); if (result.Data == null) { return(NotFound(result)); } return(Ok(result)); }
public async Task <ActionResult <GenericCommandResult> > removeAddress( [FromBody] RemoveCustomerAddresCommand command, [FromServices] CustomerHandler handler ) { var role = User.Claims.FirstOrDefault(x => x.Type.Equals(ClaimTypes.Role))?.Value; var customerId = int.Parse(User.Claims.FirstOrDefault(x => x.Type.Equals(ClaimTypes.NameIdentifier))?.Value); if (command.CustomerId == 0) { command.CustomerId = customerId; } if (customerId != command.CustomerId && role != "manager") { return(Unauthorized()); } var result = (GenericCommandResult)handler.Handle(command); if (result.Data == null) { return(NotFound(result)); } return(Ok(result)); }
public async Task <ActionResult <GenericCommandResult> > UpdatePersonData( [FromBody] UpdateCustomerPersonDataCommand command, [FromServices] CustomerHandler handler, [FromServices] ICustomerRepository repository ) { var email = User.Claims.FirstOrDefault(x => x.Type.Equals(ClaimTypes.Email))?.Value; var role = User.Claims.FirstOrDefault(x => x.Type.Equals(ClaimTypes.Role))?.Value; var customer = repository.GetByEmail(command.Email); command.MergeEntity(customer); if (email != command.Email && role != "manager") { return(Unauthorized()); } var validationResult = command.Validate(); if (!validationResult.Success) { return(BadRequest(validationResult)); } var result = handler.Handle(command); return(Ok(result)); }
public async Task <ActionResult <GenericCommandResult> > Create( [FromBody] CreateCustomerCommand command, [FromServices] CustomerHandler handler, [FromServices] UserHandler userHandler ) { var validationResult = command.Validate(); if (!validationResult.Success) { return(BadRequest(validationResult)); } var userResult = (GenericCommandResult)userHandler.Handle(new CreateUserCommand(command.Email, command.Password, "customer")); if (userResult.Success) { var user = (User)userResult.Data; command.SetUserId(user.Id); var result = handler.Handle(command); return(Ok(result)); } return(BadRequest(userResult)); }
public void ShouldNotRegisterCustomerWhenDocumentExists() { _command.Document = "22328792910"; _command.Username = "******"; var handler = new CustomerHandler(new MockCustomerRepository()); var result = handler.Handle(_command); Assert.AreEqual(null, result); Assert.AreNotEqual(true, handler.Valid); }
public void ShouldNotRegisterCustomerWhenUsernameExistis() { _command.Document = "46718115533"; _command.Username = "******"; var handler = new CustomerHandler(new MockCustomerRepository()); var result = handler.Handle(_command); Assert.AreEqual(null, result); Assert.AreNotEqual(true, handler.Valid); }
public ICommandResult Post([FromBody] CreateCustomerCommand command) { var result = (CreateCustomerCommandResult)_handler.Handle(command); return(result); // var name = new Name(command.FirstName, command.LastName); // var document = new Document(command.Document); // var email = new Email(command.Email); // var customer = new Customer(name, document, email, command.Phone); // return customer; }
public object Post([FromBody] CreateCustomerCommand customerCommand) { var result = (CreatCustomerCommandResult)_customerHandler.Handle(customerCommand); if (_customerHandler.Invalid) { return(BadRequest(_customerHandler.Notifications)); } return(result); }
public async void ShouldValidFalseWhenEmailIsNotAvailable() { var customerRepository = new MockCustomerRepository(); var customerHandler = new CustomerHandler(customerRepository); var createCustomerCommand = new CreateCustomerCommand("Steve", "Rogers", "61946855065", "*****@*****.**", "016999999999"); await customerHandler.Handle(createCustomerCommand, CancellationToken.None); Assert.False(customerHandler.Valid); }
public void ShouldRegisterCustomerWhenCommandIsValid() { var command = new CreateCustomerCommand(); command.FirstName = "Edvilson"; command.LastName = "Almeida"; command.Document = "12345678910"; command.Email = "*****@*****.**"; command.Phone = "519999999997"; var handler = new CustomerHandler(new FakeCustomerRepository(), new FakeEmailService()); var result = handler.Handle(command); Assert.AreEqual(null, result); Assert.AreEqual(0, handler.Invalid); }
public void ShouldReturnNullWhenCommandIsInvalid() { var command = new CreateCustomerCommand(); command.FirstName = "Felipe"; command.LastName = "Bossolani"; command.Document = "26124258618"; command.Email = "felipegmail.com"; command.Phone = "11999999999"; var handler = new CustomerHandler(new FakeCustomerRepository(), new FakeEmailService()); var commandResult = handler.Handle(command); Assert.IsNull(commandResult); }
public void ShouldRegisterCustomerWhenCommandIsValid() { var command = new CreateCustomerCommand(); command.FirstName = "Marcio"; command.LastName = "Costa Rodrigues"; command.Document = "12345678909"; command.Email = "*****@*****.**"; command.Phone = "14999999999"; var handler = new CustomerHandler(new FakeCustomerRepository(), new FakeEmailService()); var result = handler.Handle(command); Assert.AreNotEqual(null, result); Assert.AreEqual(true, handler.IsValid); }
public async ValueTask <IActionResult> GetCustomers([FromBody] GetCustomerByCPFCommandInput command, [FromServices] CustomerHandler handler) { try { var result = await handler.Handle(command); return(GetResult(result)); } catch (Exception exception) { _logger.LogError("An exception has occurred at {dateTime}. " + "Exception message: {message}." + "Exception Trace: {trace}", DateTime.UtcNow, exception.Message, exception.StackTrace); return(StatusCode(StatusCodes.Status500InternalServerError)); } }
public void ShouldRegisterCustomerWhenCommandIsValid() { var command = new CreateCustomerCommand(); command.FirstName = "Michael"; command.LastName = "Muniz"; command.Document = "27728919415"; command.Email = "*****@*****.**"; command.Phone = "11999999999"; var handle = new CustomerHandler(new FakeCustomerRepository(), new FakeEmailService()); var result = handle.Handle(command); Assert.AreNotEqual(null, result); Assert.AreEqual(true, handle.IsValid); }
public void ShouldRegisterCustomerWhenCommandIsValid() { var command = new CreateCustomerCommand(); command.FirstName = "Juca"; command.LastName = "Bala"; command.Document = "28659170377"; command.Email = "*****@*****.**"; command.Phone = "44454556654"; var handler = new CustomerHandler(new FakeCustomerRepository(), new FakeEmailService()); var result = handler.Handle(command); Assert.AreNotEqual(null, result); Assert.AreEqual(true, handler.IsValid); }
public void ShouldRegisterCustomerWhenCommandIsValid() { var command = new CreateCustomerCommand(); command.FirstName = "Daniel"; command.LastName = "Rodrigues"; command.Document = "16165093760"; command.Email = "*****@*****.**"; command.Phone = "21988808420"; var handler = new CustomerHandler(new FakeCustomerRepository(), new FakeEmailService()); var result = handler.Handle(command); Assert.AreNotEqual(null, result); Assert.AreEqual(true, handler.IsValid); }
public void ShouldRegisterCustomerWhenCommandIsValid() { var command = new CreateCustomerCommand(); command.FirstName = "Otavio"; command.LastName = "Araujo"; command.Document = "467181155"; command.Email = "*****@*****.**"; command.Phone = "551999876542"; var handler = new CustomerHandler(new FakeCustomerRepository(), new FakeEmailService()); var result = handler.Handle(command); Assert.AreNotEqual(null, result); Assert.AreEqual(true, handler.Valid); }
public void ShouldRegisterCustomerWhenCommandIsValid() { var command = new CreateCustomerCommand(); command.FirstName = "Raphael"; command.LastName = "França"; command.Document = "28659170377"; command.Email = "*****@*****.**"; command.Phone = "11999999997"; var handler = new CustomerHandler(new FakeCustomerRepository(), new FakeEmailService()); var result = handler.Handle(command); Assert.AreNotEqual(null, result); Assert.AreEqual(true, handler.IsValid); }
public void ShouldRegisterCustomerWhenCommandIsValid() { var command = new CreateCustomerCommand(); command.FirstName = "Gabriel"; command.LastName = "Petrovick"; command.Document = "10180179683"; command.Email = "*****@*****.**"; command.Phone = "34998387096"; var handler = new CustomerHandler(new FakeCustomerRepository(), new FakeEmailService()); var result = handler.Handle(command); Assert.AreNotEqual(null, result); Assert.AreEqual(true, handler.Valid); }
public void ShouldRegisterCustomerWhenCommandIsValid() { var command = new CreateCustomerCommand(); command.FirstName = "Rhuan"; command.LastName = "Carvalho"; command.Document = "28659170377"; command.Email = "*****@*****.**"; command.Phone = "21999999991"; var handler = new CustomerHandler(new MockCustomerRepository(), new MockEmailService()); var result = handler.Handle(command); Assert.AreNotEqual(null, result); Assert.AreEqual(true, handler.IsValid); }
public void ShouldRegisterCustomerCommandIsValid() { var command = new CreateCustomerCommand(); command.FirstName = "Matheus"; command.LastName = "Cruz"; command.Document = "05360671718"; command.Email = "*****@*****.**"; command.Phone = "21999999999"; var handler = new CustomerHandler(new FakeCustomerRepository(), new FakeEmailService()); var result = handler.Handle(command); Assert.AreNotEqual(null, result); Assert.AreEqual(true, handler.IsValid); }
public void ShouldRegisterCustomerWhenCommandIsValid() { var command = new CreateCustomerCommand(); command.FirstName = "George"; command.LastName = "Wurthmann"; command.Document = "28659170377"; command.Email = "*****@*****.**"; command.Phone = "11999999997"; var handler = new CustomerHandler(new FakeCustomerRepository(), new FakeEmailService()); var result = handler.Handle(command); Assert.NotNull(result); Assert.True(handler.Valid); }
public void ShouldRegisterCustomerWhenCommandIsValid() { var command = new CreateCustomerCommand(); command.FirstName = "João"; command.LastName = "Faustino"; command.Document = "12345678910"; command.Email = "*****@*****.**"; command.Phone = "11987654321"; var handler = new CustomerHandler(new FakeCustomerRepository(), new FakeEmailService()); var result = handler.Handle(command); Assert.AreNotEqual(null, result); Assert.AreEqual(true, handler.IsValid); }
public void Deve_registrar_um_cliente_quando_comando_valido() { var command = new CreateCustomerCommand(); command.FirstName = "André"; command.LastName = "Ferreira"; command.Document = "11252529015"; command.Email = "*****@*****.**"; command.Phone = "17999999999"; var handler = new CustomerHandler(new FakeCustomerRepository(), new FakeEmailService()); var result = handler.Handle(command); Assert.AreNotEqual(null, result); Assert.AreEqual(true, handler.IsValid); }
public void DeveRegistrarOClienteQuandoOCommandForValido() { var command = new CreateCustomerCommand(); command.FirstName = "Cristiano"; command.LastName = "Cunha"; command.Document = "03552114599"; command.Email = "*****@*****.**"; command.Phone = "199389798"; var customerHandler = new CustomerHandler(new FakeCustomerRepository(), new FakeEmailService()); var result = customerHandler.Handle(command); Assert.AreNotEqual(null, result); Assert.AreEqual(true, customerHandler.Valid); }
public void ShouldRegisterCustomerWhenCommandIsValid() { var command = new CreateCustomerCommand(); command.FirstName = "Guilherme"; command.LastName = "Filenga"; command.Document = "44169225821"; command.Email = "*****@*****.**"; command.Phone = "5511998924722"; var handler = new CustomerHandler(new FakeCustomerRepository(), new FakeEmailService()); var result = handler.Handle(command); Assert.AreNotEqual(null, result); Assert.AreEqual(true, handler.IsValid); }
public void ShouldRegisterCustomerWhenCommandIsValid() { var command = new CreateCustomerCommand(); command.FirstName = "Ricardo"; command.LastName = "Silva"; command.Document = "13230609018"; command.Email = "*****@*****.**"; command.Phone = "5521999999999"; var handler = new CustomerHandler(new FakeCustomerRepository(), new FakeEmailService()); var result = handler.Handle(command); Assert.AreNotEqual(null, result); Assert.AreEqual(true, handler.IsValid); }
public void ShouldRegisterWhenCommandIsValid() { var command = new CreateCustomerCommand(); command.FirstName = "Thiago"; command.LastName = "Cruz"; command.Document = "14220929762"; command.Email = "*****@*****.**"; command.Phone = "21969716652"; var handler = new CustomerHandler(new FakeCustomerRepository(), new FakeEmailService()); var result = handler.Handle(command); Assert.AreNotEqual(null, result); Assert.AreEqual(true, handler.IsValid); }