public async Task Update_commerce_should_return_bad_request_when_command_is_invalid(string url) { var entityId = Guid.NewGuid(); var body = new UpdateCommerceCommand() { Name = "", Country = "test", State = "São Paulo", City = "São Paulo", SiteDomain = "testdomain123" }; var stringBody = JsonConvert.SerializeObject(body); var stringContent = new StringContent(stringBody, Encoding.UTF8, "application/json"); var response = await _client.PatchAsync($"{url}/{entityId}", stringContent); var jsonResponse = await response.Content.ReadAsStringAsync(); dynamic result = JObject.Parse(jsonResponse); // Assert Assert.False((bool)result.success); Assert.Equal("Não foi possível atualizar o comércio.", (string)result.message); Assert.Equal(HttpStatusCode.BadRequest, (HttpStatusCode)result.statusCode); }
public void Should_return_error_when_domain_exists() { _mockCommerceRepository.Setup(x => x.NameExists(It.IsAny <string>(), It.IsAny <Guid>())) .Returns(false); _mockCommerceRepository.Setup(x => x.DomainExists(It.IsAny <string>(), It.IsAny <Guid>())) .Returns(true); var handler = new UpdateCommerceHandler(_mockCommerceRepository.Object); var command = new UpdateCommerceCommand { Id = Guid.NewGuid(), Name = "Test Name", SiteDomain = "test.com", Country = "Brasil", State = "São Paulo", City = "São Paulo" }; var result = handler.Handle(command); Assert.False(handler.Valid); Assert.False(result.Success); Assert.Contains(handler.Notifications, x => x.Property == "Domain"); }
public void Should_return_success() { var commerceMock = new Mock <Commerce>("name", new Mock <Site>().Object, new Mock <Address>().Object); _mockCommerceRepository.Setup(x => x.NameExists(It.IsAny <string>(), It.IsAny <Guid>())) .Returns(false); _mockCommerceRepository.Setup(x => x.DomainExists(It.IsAny <string>(), It.IsAny <Guid>())) .Returns(false); _mockCommerceRepository.Setup(x => x.GetById(It.IsAny <Guid>())) .Returns(commerceMock.Object); var handler = new UpdateCommerceHandler(_mockCommerceRepository.Object); var command = new UpdateCommerceCommand { Id = Guid.NewGuid(), Name = "Test Name", SiteDomain = "test.com", Country = "Brasil", State = "São Paulo", City = "São Paulo" }; var result = handler.Handle(command); Assert.True(result.Success, result.Message); Assert.True(handler.Valid); }
public void Should_be_invalid_when_id_is_empty() { var command = new UpdateCommerceCommand { Id = Guid.Empty }; command.Validate(); Assert.True(command.Invalid); Assert.Contains(command.Notifications, x => x.Property == "Id"); }
public void Should_return_error_when_command_is_invalid() { var handler = new UpdateCommerceHandler(_mockCommerceRepository.Object); var command = new UpdateCommerceCommand(); var result = handler.Handle(command); Assert.False(command.Valid); Assert.False(handler.Valid); Assert.False(result.Success); }
public void Should_be_invalid_when_name_surpass_max_length_50_chars() { var command = new UpdateCommerceCommand { Name = new string('a', 51) }; command.Validate(); Assert.True(command.Invalid); Assert.Equal("Name", command.Notifications .Select(x => x.Property) .FirstOrDefault(x => x == "Name")); }
public void Should_be_invalid_when_name_does_not_has_min_length_3_chars() { var command = new UpdateCommerceCommand { Name = "a" }; command.Validate(); Assert.True(command.Invalid); Assert.Equal("Name", command.Notifications .Select(x => x.Property) .FirstOrDefault(x => x == "Name")); }
public void Should_be_invalid_when_name_is_null() { var command = new UpdateCommerceCommand { Name = null }; command.Validate(); Assert.True(command.Invalid); Assert.Equal("Name", command.Notifications .Select(x => x.Property) .FirstOrDefault(x => x == "Name")); }
public void Should_be_invalid_when_city_is_empty() { var command = new UpdateCommerceCommand { City = "" }; command.Validate(); Assert.True(command.Invalid); Assert.Equal("City", command.Notifications .Select(x => x.Property) .FirstOrDefault(x => x == "City")); }
public void Should_be_invalid_when_site_domain_is_null() { var command = new UpdateCommerceCommand { SiteDomain = null }; command.Validate(); Assert.True(command.Invalid); Assert.Equal("SiteDomain", command.Notifications .Select(x => x.Property) .FirstOrDefault(x => x == "SiteDomain")); }
public async Task Update_commerce_should_return_success(string url) { var bodyCreate = new CreateCommerceCommand() { Name = "CommerceName123", Country = "Brazil", State = "São Paulo", City = "São Paulo", SiteDomain = "testdomain" }; var stringBodyCreate = JsonConvert.SerializeObject(bodyCreate); var stringContentCreate = new StringContent(stringBodyCreate, Encoding.UTF8, "application/json"); var responseCreate = await _client.PostAsync(url, stringContentCreate); responseCreate.EnsureSuccessStatusCode(); var jsonResponseCreate = await responseCreate.Content.ReadAsStringAsync(); dynamic resultCreate = JObject.Parse(jsonResponseCreate); var entityId = (Guid)resultCreate.result.id; var bodyUpdate = new UpdateCommerceCommand() { Name = "CommerceName123", Country = "test", State = "São Paulo", City = "São Paulo", SiteDomain = "testdomain123" }; var stringBodyUpdate = JsonConvert.SerializeObject(bodyUpdate); var stringContentUpdate = new StringContent(stringBodyUpdate, Encoding.UTF8, "application/json"); var responseUpdate = await _client.PatchAsync($"{url}/{entityId}", stringContentUpdate); responseUpdate.EnsureSuccessStatusCode(); var jsonResponseUpdate = await responseUpdate.Content.ReadAsStringAsync(); dynamic resultUpdate = JObject.Parse(jsonResponseUpdate); // Assert Assert.True((bool)resultUpdate.success, (string)resultUpdate.message); Assert.Equal("Comércio atualizado com sucesso.", (string)resultUpdate.message); }
public void Should_be_valid() { var command = new UpdateCommerceCommand { Id = Guid.NewGuid(), Name = _valid_name, SiteDomain = _valid_domain, Country = _valid_country, State = _valid_state, City = _valid_city }; command.Validate(); Assert.True(command.Valid); }
public IActionResult Update(Guid id, [FromBody] UpdateCommerceCommand command) { command.Id = id; var result = _updateCommerce.Handle(command); if (!result.Success) { if (result.StatusCode == HttpStatusCode.BadRequest) { return(BadRequest(result)); } if (result.StatusCode == HttpStatusCode.NotFound) { return(NotFound(result)); } } return(Ok(result)); }