public async Task UpdateLeilaoComSucesso()
        {
            //Arranje
            var faker             = new Faker("pt_BR");
            var leilaoRepository  = new LeilaoRepository(this.Context);
            var usuarioRepository = new UsuarioRepository(this.Context);
            var usuarioId         = await usuarioRepository.InsertAsync(new Usuario(faker.Name.FullName(), faker.Internet.Email()));

            var leilaoId = await leilaoRepository.InsertAsync(
                new Leilao(usuarioId, "Teste leilão GetLeilaoIdComSucesso", null, DateTime.UtcNow, DateTime.UtcNow.AddDays(50), 250.50)
                );


            Leilao leilao = await leilaoRepository.GetByIdAsync(leilaoId);

            string leilaoTituloUpdate = "Titulo leilão Update";

            leilao.Update(new LeilaoUpdate(leilaoId, usuarioId, leilaoTituloUpdate, null, null, null, null));
            //Act
            await leilaoRepository.UpdateAsync(leilao);

            //Assert
            Leilao leilaoUpdate = await leilaoRepository.GetByIdAsync(leilaoId);

            Assert.Equal(leilaoTituloUpdate, leilaoUpdate.Titulo);
        }
Ejemplo n.º 2
0
        public ActionResult Details(string idPessoa, string idLeilao, string valor)
        {
            Pessoa pessoa = PessoaRepository.BuscarUsuarioPorId(idPessoa);

            Models.Leilao leilao = LeilaoRepository.BuscarLeilaoPorId(idLeilao);

            if (!decimal.TryParse(valor, NumberStyles.Currency, CultureInfo.CreateSpecificCulture("en-US"), out decimal valorLance))
            {
                ModelState.AddModelError("", $"R$ {valor} não é um valor válido para o lance");
                return(View(leilao));
            }

            Lance lance = leilao.MakeLance(pessoa, valorLance);

            if (lance != null)
            {
                LeilaoRepository.SaveLance(lance);
                return(RedirectToAction("Details", new { id = leilao.Produto.Id }));
            }
            else
            {
                ModelState.AddModelError("", $"R$ {valor} um lance não pode ser igual ou menor que o anterior");
                return(View(leilao));
            }
        }
Ejemplo n.º 3
0
        public ActionResult Details(int id)
        {
            Produto produto = ProdutoRepository.GetProdutoById(id);

            Models.Leilao leilao = LeilaoRepository.GetLeilaoByProduct(produto);
            if (leilao == null)
            {
                leilao = LeilaoRepository.CreateLeilao(new Models.Leilao(produto));
            }

            Session["idPessoa"] = PessoaRepository.BuscarUsuarioPorEmail(System.Web.HttpContext.Current.User.Identity.Name).Id;
            return(View(leilao));
        }
        public async Task IncluirLeilaoComSucessoAsync()
        {
            //Arranje
            var faker             = new Faker("pt_BR");
            var leilaoRepository  = new LeilaoRepository(this.Context);
            var usuarioRepository = new UsuarioRepository(this.Context);
            var usuarioId         = await usuarioRepository.InsertAsync(new Usuario(faker.Name.FullName(), faker.Internet.Email()));

            //Act
            var leilao = await leilaoRepository.InsertAsync(
                new Leilao(usuarioId, "Teste leilão", null, DateTime.UtcNow, DateTime.UtcNow.AddDays(5), 250.50)
                );

            //Assert
            Assert.NotNull(leilao);
        }
        public async Task GetLeiloadoPorIdComSucessoAsync()
        {
            //Arranje
            var faker             = new Faker("pt_BR");
            var leilaoRepository  = new LeilaoRepository(this.Context);
            var usuarioRepository = new UsuarioRepository(this.Context);
            var usuarioId         = await usuarioRepository.InsertAsync(new Usuario(faker.Name.FullName(), faker.Internet.Email()));

            var leilaoId = await leilaoRepository.InsertAsync(
                new Leilao(usuarioId, "Teste leilão GetLeilaoIdComSucesso", null, DateTime.UtcNow, DateTime.UtcNow.AddDays(50), 250.50)
                );

            //Act
            IList <Leilao> leiloes = await leilaoRepository.GetAllByLeiloadoPorIdAsync(usuarioId);

            //Assert
            Assert.NotNull(leiloes.Where(w => w.Id == leilaoId).FirstOrDefault());
        }
        public async Task GetLeilaoIdAndLeiloadoPorIdComSucessoAsync()
        {
            //Arranje
            var faker             = new Faker("pt_BR");
            var leilaoRepository  = new LeilaoRepository(this.Context);
            var usuarioRepository = new UsuarioRepository(this.Context);
            var usuarioId         = await usuarioRepository.InsertAsync(new Usuario(faker.Name.FullName(), faker.Internet.Email()));

            var leilaoId = await leilaoRepository.InsertAsync(
                new Leilao(usuarioId, "Teste leilão GetLeilaoIdComSucesso", null, DateTime.UtcNow, DateTime.UtcNow.AddDays(50), 250.50)
                );

            //Act
            Leilao leilao = await leilaoRepository.GetByIdAndLeiloadoPorIdAsync(leilaoId, usuarioId);

            //Assert
            Assert.Equal(leilao.Id, leilaoId);
        }
Ejemplo n.º 7
0
        public async Task DeleteLeilaoImagemComSucesso()
        {
            //Arranje
            var faker = new Faker("pt_BR");
            var leilaoImagemRepository = new LeilaoImagemRepository(this.Context);
            var leilaoRepository       = new LeilaoRepository(this.Context);
            var usuarioRepository      = new UsuarioRepository(this.Context);
            var usuarioId = await usuarioRepository.InsertAsync(new Usuario(faker.Name.FullName(), faker.Internet.Email()));

            var leilaoId = await leilaoRepository.InsertAsync(
                new Leilao(usuarioId, "Teste leilão", null, DateTime.UtcNow, DateTime.UtcNow.AddDays(5), 250.50)
                );


            var leilaoImagemId = await leilaoImagemRepository.InsertAsync(
                new LeilaoImagem(usuarioId, leilaoId, "url-da-imagem.png")
                );

            //Act
            await leilaoImagemRepository.DeleteAsync(leilaoImagemId);
        }
        public async Task GetAllComSucesso()
        {
            //Arranje
            var faker             = new Faker("pt_BR");
            var leilaoRepository  = new LeilaoRepository(this.Context);
            var usuarioRepository = new UsuarioRepository(this.Context);
            var usuarioId         = await usuarioRepository.InsertAsync(new Usuario(faker.Name.FullName(), faker.Internet.Email()));

            var totalLeiloes = 20;

            for (int i = 0; i < totalLeiloes; i++)
            {
                var leilaoId = await leilaoRepository.InsertAsync(
                    new Leilao(usuarioId, faker.Internet.UserNameUnicode(), null, DateTime.UtcNow, DateTime.UtcNow.AddDays(50), 250.50)
                    );
            }

            //Act
            LeilaoPaginacao leiloes = await leilaoRepository.GetAllAsync(new LeilaoPaginacao(porPagina : 20, pagina : 1, leiloadoPorId : usuarioId));

            //Assert
            Assert.Equal(leiloes.Resultados.Count, totalLeiloes);
        }
Ejemplo n.º 9
0
 public ActionResult Index()
 {
     return(View(LeilaoRepository.GetAll()));
 }