public GruposController(CriadorGrupo criadorGrupo, 
     ModificadorGrupo modificadorGrupo, 
     LocalizadorGrupo localizadorGrupo, 
     LocalizadorEquipamento localizadorEquipamento)
 {
     _criadorGrupo = criadorGrupo;
     _modificadorGrupo = modificadorGrupo;
     _localizadorGrupo = localizadorGrupo;
     _localizadorEquipamento = localizadorEquipamento;
 }
        public void LocalizarCorretamentePorIdQuandoTudoEstiverOk()
        {
            //Arrange
            var repositorio = new Mock<RepositorioGrupos>();
            var mapper = new Mock<FabricaGrupoDto>();

            var id = Guid.NewGuid();
            var grupoEsperado = new Grupo(id, "Grupo");
            var grupoRetornadoMapper = new GrupoDto { Id = grupoEsperado.Id, Nome = grupoEsperado.Nome };

            repositorio.Setup(x => x.BuscarPorId(It.IsAny<Guid>(), It.IsAny<Guid>())).Returns(grupoEsperado);
            mapper.Setup(x => x.Criar(It.IsAny<Grupo>())).Returns(grupoRetornadoMapper);

            //Action
            var grupoRetornado = new LocalizadorGrupo(repositorio.Object, mapper.Object, new Mock<FabricaSumarioSituacaoDto>().Object).Localizar(Guid.NewGuid(), id.ToString());

            //Asserts
            grupoRetornado.Id.Should().Be(grupoEsperado.Id);
            grupoRetornado.Nome.Should().BeEquivalentTo(grupoEsperado.Nome);
        }
        public void LocalizarCorretamenteTodosQuandoTudoEstiverOk()
        {
            //Arrange
            var repositorio = new Mock<RepositorioGrupos>();
            var mapper = new Mock<FabricaGrupoDto>();

            var id = Guid.NewGuid();
            var grupoRetornadoDoBanco = new Grupo(id, "Grupo");
            var gruposRetornadosDoBanco = new List<Grupo> { grupoRetornadoDoBanco };
            var grupoRetornadoMapper = new GrupoDto { Id = grupoRetornadoDoBanco.Id, Nome = grupoRetornadoDoBanco.Nome };
            var gruposRetornadosMapper = new List<GrupoDto> { grupoRetornadoMapper };

            repositorio.Setup(x => x.Buscar(Guid.NewGuid(), null)).Returns(gruposRetornadosDoBanco);
            mapper.Setup(x => x.Criar(It.IsAny<IEnumerable<Grupo>>())).Returns(gruposRetornadosMapper);

            //Action
            var gruposRetornados = new LocalizadorGrupo(repositorio.Object, mapper.Object, new Mock<FabricaSumarioSituacaoDto>().Object).Localizar(Guid.NewGuid());

            //Asserts
            gruposRetornados.Where(x => x.Id == grupoRetornadoDoBanco.Id).Should().NotBeNullOrEmpty();
        }