示例#1
0
        public void ExcluirEntidadeNaoExistente_GeraException()
        {
            var options = OptionsContext();

            var id = Guid.NewGuid();

            using (var contexto = new ContextoParaTeste(options))
            {
                //Preparar
                var servicoEmTeste = new ServicoEmTeste(contexto, BuscaMapper());

                //Executar
                Func <Task> act = async() => { await servicoEmTeste.Excluir(id); };
                act.Should().Throw <EntidadeNaoExisteException>()
                .WithMessage("Entidade não encontrada");
            }
        }
示例#2
0
        public async Task ExcluirEntidade_OK()
        {
            var options = OptionsContext();

            var id = Guid.NewGuid();

            using (var contexto = new ContextoParaTeste(options))
            {
                //Preparar
                var servicoEmTeste = new ServicoEmTeste(contexto, BuscaMapper());

                var entidadeExistente = new EntidadeParaTeste
                {
                    Id               = id,
                    DataCriacao      = DateTimeOffset.Now,
                    PropriedadeTeste = "valor-atual"
                };
                await contexto.AddAsync(entidadeExistente);

                await contexto.SaveChangesAsync();

                //Executar
                await servicoEmTeste.Excluir(id);
            }

            using (var contextoVerificacao = new ContextoParaTeste(options))
            {
                //Verificar
                var entidades = contextoVerificacao.Entidades.ToList();
                entidades.Should().HaveCount(1);

                var entidade = entidades.FirstOrDefault();
                entidade.Id.Should().Be(id);
                entidade.DataAlteracao.Should().BeCloseTo(DateTimeOffset.Now, intervaloDatas);
                entidade.DataCriacao.Should().BeCloseTo(DateTimeOffset.Now, intervaloDatas);
                entidade.Excluido.Should().BeTrue();
                entidade.PropriedadeTeste.Should().Be("valor-atual");
            }
        }