public async void Deve_Obter_Todos_Servicos() { 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(); var response = await client.GetAsync("/api/servicos"); response.EnsureSuccessStatusCode(); var stringRequest = await response.Content.ReadAsStringAsync(); RequestResponse <IEnumerable <Servico> > clientesRespponse = JsonConvert.DeserializeObject <RequestResponse <IEnumerable <Servico> > >(stringRequest); Assert.Empty(clientesRespponse.Erros); Assert.NotEmpty(clientesRespponse.Dado); }
public async void Deve_Marcar_Um_Horario() { DateTime dataHorario = new DateTime(2019, 1, 1); int clientId = 1; int servicoId = 1; var horarioEsperado = new { ClienteId = clientId, ServicoId = servicoId, HorarioMarcado = dataHorario, Id = 1, IsNew = false }.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 <Cliente>().AddRange(ClienteMock.ObterClientesMock()); db.Set <Servico>().AddRange(ServicosMock.ObterServicosMock()); db.SaveChanges(); var client = server.CreateClient(); MarcarHorarioRequest request = new MarcarHorarioRequest() { ClientId = clientId, ServicoId = servicoId, HorarioMarcado = dataHorario }; var json = JsonConvert.SerializeObject(request); var content = new StringContent(json, Encoding.UTF8, "application/json"); var response = await client.PostAsync("/api/horarios/marcar", content); response.EnsureSuccessStatusCode(); var stringRequest = await response.Content.ReadAsStringAsync(); RequestResponse <Horario> horarioResponse = JsonConvert.DeserializeObject <RequestResponse <Horario> >(stringRequest); Assert.Empty(horarioResponse.Erros); horarioEsperado.ShouldMatch(horarioResponse.Dado); }
public async void Deve_Criar_Servico() { var nomeEsperado = "Serviço 1"; var valorEsperado = 15; var servicoEsperado = new { Id = 4, IsNew = false, Nome = nomeEsperado, Valor = valorEsperado }.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(); CriarServicoRequest request = new CriarServicoRequest() { Nome = nomeEsperado, Valor = valorEsperado }; var json = JsonConvert.SerializeObject(request); var content = new StringContent(json, Encoding.UTF8, "application/json"); var response = await client.PostAsync("/api/servicos", content); response.EnsureSuccessStatusCode(); var stringRequest = await response.Content.ReadAsStringAsync(); RequestResponse <Servico> servicoResponse = JsonConvert.DeserializeObject <RequestResponse <Servico> >(stringRequest); Assert.Empty(servicoResponse.Erros); servicoEsperado.ShouldMatch(servicoResponse.Dado); }