public Livro VincularAutorNoLivro(VinculacaoAutorLivroDto vinculacaoAutorLivro) { if (vinculacaoAutorLivro == null) { throw new System.ArgumentNullException(nameof(vinculacaoAutorLivro)); } var identificadorLivro = vinculacaoAutorLivro.LivroId; var livro = _livroRepository.GetById(identificadorLivro); if (livro == null) { throw new Exception($"O livro de identificador {identificadorLivro} não existe!"); } var identificadorAutor = vinculacaoAutorLivro.AutorId; var autor = _autorRepository.GetById(identificadorAutor); if (autor == null) { throw new Exception($"O autor de identificador {identificadorAutor} não existe!"); } if (_livroRepository.ExisteAutorVinculadoNoLivro(identificadorLivro, identificadorAutor)) { throw new Exception($"O autor já está cadastrado no livro!"); } livro.Autor = autor; livro.AutorId = autor.Id; _livroRepository.Update(livro); return(livro); }
public void SetUp() { livroRepositoryMock = Substitute.For <ILivroRepository>(); autorRepositoryMock = Substitute.For <IAutorRepository>(); vinculacaoAutorLivroMock = Substitute.For <VinculacaoAutorLivroDto>(); vinculacaoAutorLivroMock.AutorId = 1; vinculacaoAutorLivroMock.LivroId = 1; livroMock = Substitute.For <Livro>(); livroMock.Id = vinculacaoAutorLivroMock.LivroId; autorMock = Substitute.For <Autor>(); livroMock.Id = vinculacaoAutorLivroMock.AutorId; livroRepositoryMock.ExisteAutorVinculadoNoLivro(vinculacaoAutorLivroMock.LivroId, vinculacaoAutorLivroMock.AutorId).Returns(false); }