public Cliente CriarCliente(CriarClienteRequest request) { Cliente cliente = new Cliente(request.Nome); _clienteRepositorio.Salvar(cliente); _unitOfWork.SaveChanges(); return(cliente); }
public async void Deve_Criar_Cliente() { var nomeEsperado = "Cliente 1"; var clienteEsperado = new { Id = 1, IsNew = false, Nome = nomeEsperado, }.ToExpectedObject(); var server = new TestServer(new WebHostBuilder() .ConfigureServices(services => { services.AddDbContext <BarberShopContext>(options => { options.UseInMemoryDatabase("Test"); }); }) .UseStartup <Startup>()); var scope = server.Host.Services.CreateScope(); var scopedServices = scope.ServiceProvider; var db = scopedServices.GetRequiredService <BarberShopContext>(); db.Database.EnsureCreated(); db.Set <Servico>().AddRange(ServicosMock.ObterServicosMock()); db.SaveChanges(); var client = server.CreateClient(); CriarClienteRequest request = new CriarClienteRequest() { Nome = nomeEsperado }; var json = JsonConvert.SerializeObject(request); var content = new StringContent(json, Encoding.UTF8, "application/json"); var response = await client.PostAsync("/api/clientes", content); response.EnsureSuccessStatusCode(); var stringRequest = await response.Content.ReadAsStringAsync(); RequestResponse <Cliente> clienteResponse = JsonConvert.DeserializeObject <RequestResponse <Cliente> >(stringRequest); Assert.Empty(clienteResponse.Erros); clienteEsperado.ShouldMatch(clienteResponse.Dado); }