Beispiel #1
0
        public async Task AlterarImagem(int id, CervejaImagemDTO dto)
        {
            var cerveja = await _repCerveja.RecuperarPorIdAsync(id);

            if (cerveja == null)
            {
                throw new Exception("Cerveja não encontrada.");
            }
            var cervejaImagem = await _repCervejaImagem.RecuperarPorIdAsync(id);

            if (cervejaImagem == null)
            {
                cervejaImagem = new CervejaImagem {
                    Id = id
                };
                dto.ConverterParaCervejaImagem(cervejaImagem);
                await _repCervejaImagem.InserirAsync(cervejaImagem);
            }
            else
            {
                dto.ConverterParaCervejaImagem(cervejaImagem);
                _repCervejaImagem.Alterar(cervejaImagem);
            }
            _repCerveja.Alterar(cerveja);
            await Persistir();

            _eventoNotificarAlteracaoCerveja.Publicar(cerveja);
        }
Beispiel #2
0
        public void AlterarImagem_passando_cerveja_que_nao_existe_deve_dar_excecao()
        {
            var id  = 1;
            var dto = new CervejaImagemDTO();

            A.CallTo(() => _repCerveja.RecuperarPorIdAsync(id)).Returns((Cerveja)null);

            _aplicCerveja.Invoking(x => x.AlterarImagem(id, dto)).Should().Throw <Exception>().WithMessage("Cerveja não encontrada.");
        }
Beispiel #3
0
        public async Task AlterarImagem_passando_cerveja_que_nao_tem_imagem_deve_inserir_e_chamar_rabbit()
        {
            var id      = 1;
            var dto     = new CervejaImagemDTO();
            var cerveja = new Cerveja();

            A.CallTo(() => _repCerveja.RecuperarPorIdAsync(id)).Returns(cerveja);
            A.CallTo(() => _repCervejaImagem.RecuperarPorIdAsync(id)).Returns((CervejaImagem)null);

            await _aplicCerveja.AlterarImagem(id, dto);

            A.CallTo(() => _repCervejaImagem.InserirAsync(A <CervejaImagem> ._)).MustHaveHappened();
            A.CallTo(() => _unidadeDeTrabalho.Persistir()).MustHaveHappened();
            A.CallTo(() => _eventoNotificarAlteracaoCerveja.Publicar(A <Cerveja> ._)).MustHaveHappened();
        }