public async void SalvarSucesso() { //arrange var entidade = new GrupoArvore() { Arvores = new List <Arvore>() }; var guid1 = Guid.NewGuid(); var guid2 = Guid.NewGuid(); entidade.Arvores.Add(new Arvore() { Codigo = guid1 }); entidade.Arvores.Add(new Arvore() { Codigo = guid2 }); var mocker = new AutoMocker(); var grupoArvoreService = mocker.CreateInstance <GrupoArvoreService>(); IList <Arvore> returned = new List <Arvore>(); returned.Add(new Arvore() { Codigo = Guid.NewGuid() }); returned.Add(new Arvore() { Codigo = Guid.NewGuid() }); mocker.GetMock <IRepositorioBase <Arvore> >() .Setup(c => c.BuscarPorCondicao(c => c.GrupoArvoreCodigo == entidade.Codigo)) .Returns(Task.FromResult(returned)); mocker.GetMock <IRepositorioBase <Arvore> >() .Setup(c => c.BuscarPorCondicao(c => c.Codigo == guid1)) .Returns(Task.FromResult(returned)); mocker.GetMock <IRepositorioBase <Arvore> >() .Setup(c => c.BuscarPorCondicao(c => c.Codigo == guid2)) .Returns(Task.FromResult(returned)); //act grupoArvoreService.Salvar(entidade); //assert mocker.GetMock <IRepositorioBase <GrupoArvore> >().Verify(r => r.Salvar(entidade), Times.Once); }
public async void SalvarSucesso() { //arrange var entidade = new GrupoArvore(); var mocker = new AutoMocker(); var grupoArvoreController = mocker.CreateInstance <GrupoArvoreController>(); //act var resultado = await grupoArvoreController.Salvar(entidade); //assert Assert.IsType <OkResult>(resultado); }
public void Salvar(GrupoArvore grupoArvore) { var codigosArvores = grupoArvore.Arvores.Select(c => c.Codigo).ToList(); grupoArvore.Arvores = null; repositorioGrupoArvore.Salvar(grupoArvore); var arvoresExcluir = repositorioArvore.BuscarPorCondicao(c => c.GrupoArvoreCodigo == grupoArvore.Codigo).Result.ToList().Where(c => !codigosArvores.Contains(c.Codigo)); foreach (var arvore in arvoresExcluir) { arvore.GrupoArvoreCodigo = null; repositorioArvore.Salvar(arvore); } foreach (var arvore in codigosArvores) { var entidadeArvoreBanco = repositorioArvore.BuscarPorCondicao(c => c.Codigo == arvore).Result.FirstOrDefault(); entidadeArvoreBanco.GrupoArvoreCodigo = grupoArvore.Codigo; repositorioArvore.Salvar(entidadeArvoreBanco); } }