Пример #1
0
        public async Task <Servico> CriarServico(CriarServicoRequest request)
        {
            Servico servico = new Servico(request.Nome, request.Valor);

            _servicoRepositorio.Salvar(servico);
            await _unitOfWork.SaveChanges();

            return(servico);
        }
Пример #2
0
        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);
        }