示例#1
0
        public async Task Deve_ser_valido_exclusao_modelo_quando_nao_possuir_patrimonios()
        {
            //arrange
            var modeloRepository = new Mock <IModeloRepository>();

            modeloRepository.Setup(q => q.ObterPorIdAsync(_modelo.ModeloId))
            .Returns(Task.FromResult(_modelo));
            modeloRepository.Setup(q => q.ModeloPossuiPatrimonio(_modelo.ModeloId))
            .Returns(Task.FromResult(false));

            IExclusaoModeloDomainService domainService = new ExclusaoModeloDomainService(modeloRepository.Object);

            //act
            await domainService.ExcluirModeloAsync(_modelo.ModeloId);


            //assert
            _modelo.DomainEvents.Should().Contain(q => q.GetType() == typeof(ModeloExcluido));
        }
示例#2
0
        public void Deve_ser_invalido_exclusao_modelo_quando_possuir_patrimonios()
        {
            //arrange
            var modeloRepository = new Mock <IModeloRepository>();

            modeloRepository.Setup(q => q.ObterPorIdAsync(_modelo.ModeloId))
            .Returns(Task.FromResult(_modelo));
            modeloRepository.Setup(q => q.ModeloPossuiPatrimonio(_modelo.ModeloId))
            .Returns(Task.FromResult(true));

            IExclusaoModeloDomainService domainService = new ExclusaoModeloDomainService(modeloRepository.Object);

            //act
            Func <Task> act = async() => await domainService.ExcluirModeloAsync(_modelo.ModeloId);


            //assert
            act.Should().Throw <DomainException>();
        }