Example #1
0
 public PostController(IUnidadeDeTrabalho unidadeDeTrabalho, IServicoDeAutenticacao servicoDeAutenticacao)
 {
     this._unidadeDeTrabalho     = unidadeDeTrabalho;
     this._servicoDeAutenticacao = servicoDeAutenticacao;
     this._repositorioDePosts    = new RepositorioDePosts(this._unidadeDeTrabalho);
     this._repositorioDeUsuarios = new RepositorioDeUsuarios(this._unidadeDeTrabalho);
 }
Example #2
0
        public void BuscaPostPorIdentificador()
        {
            var repositorioDePosts = new RepositorioDePosts(this._mockDaUnidadeDeTrabalho.Object);

            repositorioDePosts.Adicionar(new Post("Foo", "Foo bar", true, this._usuario));

            Assert.IsNotNull(repositorioDePosts.Pegar(0));
        }
Example #3
0
        public void AdicionaNovoPost()
        {
            var repositorioDePosts = new RepositorioDePosts(this._mockDaUnidadeDeTrabalho.Object);

            repositorioDePosts.Adicionar(new Post("Foo", "Foo bar", true, this._usuario));

            Assert.AreEqual(1, repositorioDePosts.Listar().Count());
        }
Example #4
0
        public ActionResult Index(string[] tags = null)
        {
            var posts           = new RepositorioDePosts(this._unidadeDeTrabalho).ListarPorTags(tags);
            var tagsCadastradas = new RepositorioDeTags(this._unidadeDeTrabalho).Listar();

            var modelo = new ModeloDaHome(posts, tagsCadastradas);

            return(View(modelo));
        }
Example #5
0
        public void BuscaPostsPorUsuario()
        {
            var repositorioDePosts = new RepositorioDePosts(this._mockDaUnidadeDeTrabalho.Object);

            repositorioDePosts.Adicionar(new Post("Foo", "Foo bar", true, this._usuario));
            repositorioDePosts.Adicionar(new Post("Foo", "Foo bar", true, this._usuario));

            Assert.AreEqual(0, repositorioDePosts.ListarPorUsuario(1).Count());
            Assert.AreEqual(2, repositorioDePosts.ListarPorUsuario(0).Count());
        }
Example #6
0
        public JsonResult Comentar(int idDoPost, string conteudo)
        {
            var repositorioDePosts = new RepositorioDePosts(this._unidadeDeTrabalho);
            var post = repositorioDePosts.Pegar(idDoPost);

            var comentario = new Comentario(conteudo);

            post.AdicionarComentario(comentario);
            this._unidadeDeTrabalho.Persistir();

            return(Json(new { comentario = comentario.Conteudo, data = comentario.Data.ToShortDateString() }));
        }
Example #7
0
        public void AlteraDadosDoPost()
        {
            var repositorioDePosts = new RepositorioDePosts(this._mockDaUnidadeDeTrabalho.Object);

            repositorioDePosts.Adicionar(new Post("Foo", "Foo Bar", true, this._usuario));

            repositorioDePosts.Alterar(0, "Foo alterado", "Foo Bar alterado", true, this._usuario);

            var postAlterado = repositorioDePosts.Pegar(0);

            Assert.AreEqual("Foo alterado", postAlterado.Titulo);
            Assert.AreEqual("Foo Bar alterado", postAlterado.Conteudo);
            Assert.IsTrue(postAlterado.PermiteComentarios);
        }
Example #8
0
        public void BuscaPorTags()
        {
            var repositorioDePosts = new RepositorioDePosts(this._mockDaUnidadeDeTrabalho.Object);

            repositorioDePosts.Adicionar(new Post("Foo", "Foo Bar", true, this._usuario, new List <Tag> {
                new Tag("Foo")
            }));
            repositorioDePosts.Adicionar(new Post("Foo", "Foo Bar", true, this._usuario, new List <Tag> {
                new Tag("Foo")
            }));
            repositorioDePosts.Adicionar(new Post("Foo", "Foo Bar", true, this._usuario));
            repositorioDePosts.Adicionar(new Post("Foo", "Foo Bar", true, this._usuario, new List <Tag> {
                new Tag("Bar")
            }));

            var posts = repositorioDePosts.ListarPorTags("Foo");

            Assert.AreEqual(2, posts.Count());
        }
Example #9
0
        public void BuscarTodosOsPostsQuandoFiltroTiverApenasTagsVazias()
        {
            var repositorioDePosts = new RepositorioDePosts(this._mockDaUnidadeDeTrabalho.Object);

            repositorioDePosts.Adicionar(new Post("Foo", "Foo Bar", true, this._usuario, new List <Tag> {
                new Tag("Foo")
            }));
            repositorioDePosts.Adicionar(new Post("Foo", "Foo Bar", true, this._usuario, new List <Tag> {
                new Tag("Foo")
            }));
            repositorioDePosts.Adicionar(new Post("Foo", "Foo Bar", true, this._usuario));
            repositorioDePosts.Adicionar(new Post("Foo", "Foo Bar", true, this._usuario, new List <Tag> {
                new Tag("Bar")
            }));

            var posts = repositorioDePosts.ListarPorTags("", "");

            Assert.AreEqual(4, posts.Count());
        }