Exemple #1
0
        public async Task <IActionResult> Create(PuplicationCreate model)
        {
            int?uId = ClaimHelper.GetIdFromClaimIdentity((ClaimsIdentity)this.ControllerContext.HttpContext.User.Identity);

            if (uId == null)
            {
                return(Unauthorized(new ErrorExceptionModel("Sem Autorização ou sem sessão inciada")));
            }
            if (model.ImagePath == null)
            {
                model.ImagePath = 0;
            }
            model.UtilizadorId = (int)uId;

            PublicationDAO publicationDao    = new PublicationDAO(_connection);
            Publication    resultPublication = publicationDao.Create(model);

            resultPublication.UtilizadorId        = (int)uId;
            resultPublication.Tittle              = model.Tittle;
            resultPublication.Tradable            = model.Tradable;
            resultPublication.UserAddress         = model.UserAddress;
            resultPublication.InstrumentCondition = model.InstrumentCondition;
            resultPublication.InitialPrice        = model.InitialPrice;
            resultPublication.Category            = model.Category;
            return(Ok(resultPublication));
        }
        public void CanUserUpdatePostTest()
        {
            UserDAO UserDAO  = new UserDAO(_connection);
            User    testUser = new User();

            testUser.Email     = "*****@*****.**";
            testUser.Password  = "******";
            testUser.FirstName = "Samuel";
            testUser.LastName  = "Cunha";
            testUser.Image     = "ImageLocation";
            Address adr = new Address();

            adr.PostalCode        = "4615-423";
            adr.Street            = "Rua de Real";
            adr.StreetNumber      = 55;
            adr.District          = "Porto";
            adr.Country           = "Portugal";
            testUser.Localization = adr.ToString();

            //User 1 a utilizar
            User returnedUser = UserDAO.Create(testUser);

            Publication p = new Publication();

            p.Tittle              = "Concertina Recanati";
            p.Description         = "Como nova pouco uso";
            p.Tradable            = true;
            p.Category            = Categories.Percusao;
            p.ImagePath           = "Image/Path";
            p.InitialPrice        = 1900;
            p.InstrumentCondition = Condition.BomEstado;
            p.UtilizadorId        = returnedUser.Id;
            Address adrP = new Address();

            adrP.PostalCode   = "4615-423";
            adrP.Street       = "Rua de Real";
            adrP.StreetNumber = 55;
            adrP.District     = "Porto";
            adrP.Country      = "Portugal";
            p.UserAddress     = adrP;

            PublicationDAO pDAO        = new PublicationDAO(_connection);
            Publication    returnedP   = pDAO.Create(p);
            Publication    afterCreate = pDAO.FindById(returnedP.Id);

            afterCreate.Description  = " Uma nova descricao";
            afterCreate.InitialPrice = 1500;


            Publication updatedPublication = new Publication();

            // pDAO.Update(afterCreate);
            UserDAO.UpdatePublication(afterCreate);
            Publication afterUpdate = pDAO.FindById(afterCreate.Id);

            Assert.Equal(afterCreate.Description, afterUpdate.Description);
            Assert.Equal(afterCreate.InitialPrice, afterUpdate.InitialPrice);
        }
        public void CanSearchPublication_UserId()
        {
            UserDAO userDAO   = new UserDAO(_connection);
            User    testUser1 = new User();

            testUser1.Email     = "*****@*****.**";
            testUser1.Password  = "******";
            testUser1.FirstName = "Ema";
            testUser1.LastName  = "Coelho";
            testUser1.Password  = "******";
            testUser1.Image     = "ImageLocation";
            Address adr = new Address();

            adr.PostalCode         = "4615-423";
            adr.Street             = "Rua de Real";
            adr.StreetNumber       = 55;
            adr.District           = "Porto";
            adr.Country            = "Portugal";
            testUser1.Localization = adr.ToString();

            //User 1 a utilizar
            User returnedUser = userDAO.Create(testUser1);

            Publication p = new Publication();

            p.Tittle              = "Um Piana Novo Novo Novo";
            p.Description         = "muito muito muito muito muito novo com cordas";
            p.Tradable            = true;
            p.Category            = Categories.Cordas;
            p.ImagePath           = "Image/Path";
            p.InitialPrice        = 20;
            p.InstrumentCondition = Condition.BomEstado;
            p.UtilizadorId        = returnedUser.Id;
            Address adrP = new Address();

            adrP.PostalCode   = "4615-423";
            adrP.Street       = "Rua de Real";
            adrP.StreetNumber = 55;
            adrP.District     = "Porto";
            adrP.Country      = "Portugal";
            p.UserAddress     = adrP;

            PublicationDAO     pDAO         = new PublicationDAO(_connection);
            Publication        returnedP    = pDAO.Create(p);
            List <Publication> searchResult = new List <Publication>();

            Categories[] categories = { };
            string       adrN       = "Rua Professor José Lalanda Ribeiro, 30, 2500-884, Leiria, Portugal";

            searchResult = pDAO.GetPublications("Piana", categories, adrN, 5000);
            Assert.True(searchResult.Count > 0);
        }
Exemple #4
0
        public void CanDeletePublication()
        {
            UserDAO userDAO   = new UserDAO(_connection);
            User    testUser1 = new User();

            testUser1.Email     = "*****@*****.**";
            testUser1.Password  = "******";
            testUser1.FirstName = "Samuel";
            testUser1.LastName  = "Cunha";
            testUser1.Password  = "******";
            testUser1.Image     = "ImageLocation";
            Address adr = new Address();

            adr.PostalCode         = "4615-423";
            adr.Street             = "Rua de Real";
            adr.StreetNumber       = 55;
            adr.District           = "Porto";
            adr.Country            = "Portugal";
            testUser1.Localization = adr.ToString();

            //User 1 a utilizar
            User returnedUser = userDAO.Create(testUser1);

            Publication p = new Publication();

            p.Tittle              = "Um Piana Novo Novo Novo";
            p.Description         = "muito muito muito muito muito novo com cordas";
            p.Tradable            = true;
            p.Category            = Categories.Cordas;
            p.ImagePath           = "Image/Path";
            p.InitialPrice        = 20;
            p.InstrumentCondition = Condition.BomEstado;
            p.UtilizadorId        = returnedUser.Id;
            Address adrP = new Address();

            adrP.PostalCode   = "4615-423";
            adrP.Street       = "Rua de Real";
            adrP.StreetNumber = 55;
            adrP.District     = "Porto";
            adrP.Country      = "Portugal";
            p.UserAddress     = adrP;


            PublicationDAO pDAO      = new PublicationDAO(_connection);
            Publication    returnedP = pDAO.Create(p);
            //bool deleted = pDAO.Delete(returnedP.Id);
            bool deleted = userDAO.DeletePublication(returnedP.Id);

            //Publication afterCreate = pDAO.FindById(returnedP.Id);
            Assert.True(deleted);
        }
        public void CanUserRemoveFavoritePublicationsTest()
        {
            UserDAO UserDAO  = new UserDAO(_connection);
            User    testUser = new User();

            testUser.Email     = "*****@*****.**";
            testUser.Password  = "******";
            testUser.FirstName = "Samuel";
            testUser.LastName  = "Cunha";
            testUser.Image     = "ImageLocation";
            Address adr = new Address();

            adr.PostalCode        = "4615-423";
            adr.Street            = "Rua de Real";
            adr.StreetNumber      = 55;
            adr.District          = "Porto";
            adr.Country           = "Portugal";
            testUser.Localization = adr.ToString();

            User returnedUser = UserDAO.Create(testUser);

            Publication p = new Publication();

            p.Tittle              = "Um Piana Novo Novo Novo";
            p.Description         = "muito muito muito muito muito novo com cordas";
            p.Tradable            = true;
            p.Category            = Categories.Cordas;
            p.ImagePath           = "Image/Path";
            p.InitialPrice        = 20;
            p.InstrumentCondition = Condition.BomEstado;
            p.UtilizadorId        = returnedUser.Id;
            Address adrP = new Address();

            adrP.PostalCode   = "4615-423";
            adrP.Street       = "Rua de Real";
            adrP.StreetNumber = 55;
            adrP.District     = "Porto";
            adrP.Country      = "Portugal";
            p.UserAddress     = adrP;

            PublicationDAO pDAO      = new PublicationDAO(_connection);
            Publication    returnedP = pDAO.Create(p);

            pDAO.AddPublicationToFavorites(returnedUser.Id, returnedP.Id);

            bool deletedID = UserDAO.DeletePublicationFromFavorites(returnedUser.Id, returnedP.Id);

            Assert.True(deletedID);
        }
Exemple #6
0
        public void CanMateGetPendingJobsListTest()
        {
            UserDAO UserDAO  = new UserDAO(_connection);
            User    testUser = new User();

            testUser.Email     = "*****@*****.**";
            testUser.Password  = "******";
            testUser.FirstName = "Samuel";
            testUser.LastName  = "Cunha";
            testUser.Image     = "ImageLocation";
            Address adr = new Address();

            adr.PostalCode        = "4615-423";
            adr.Street            = "Rua de Real";
            adr.StreetNumber      = 55;
            adr.District          = "Porto";
            adr.Country           = "Portugal";
            testUser.Localization = adr.ToString();

            User returnedUser = UserDAO.Create(testUser);

            Publication p = new Publication();

            p.Tittle              = "Um Piana Novo Novo Novo";
            p.Description         = "muito muito muito muito muito novo com cordas";
            p.Tradable            = true;
            p.Category            = Categories.Cordas;
            p.ImagePath           = "Image/Path";
            p.InitialPrice        = 20;
            p.InstrumentCondition = Condition.BomEstado;
            p.UtilizadorId        = returnedUser.Id;
            Address adrP = new Address();

            adrP.PostalCode   = "4615-423";
            adrP.Street       = "Rua de Real";
            adrP.StreetNumber = 55;
            adrP.District     = "Porto";
            adrP.Country      = "Portugal";
            p.UserAddress     = adrP;

            PublicationDAO pDAO      = new PublicationDAO(_connection);
            Publication    returnedP = pDAO.Create(p);

            List <Publication> publications = UserDAO.GetPublications(returnedUser.Id).ToList();

            Assert.Equal(returnedP.Tittle, publications.Find(a => a.Tittle == returnedP.Tittle).Tittle);

            _fixture.Dispose();
        }