public void UpdateValidTouristSpot()
        {
            TouristSpot touristSpotToUpdate = new TouristSpot()
            {
                Id               = touristSpot2.Id,
                Name             = "Colonia",
                Description      = "Para tomarte un relax con tu pareja y descansar.",
                Region           = region1,
                ListOfCategories = new List <CategoryTouristSpot>()
                {
                    categoryTouristSpot1
                },
                Image = picture
            };

            var touristSpotRepositoryMock = new Mock <ITouristSpotRepository>(MockBehavior.Strict);

            touristSpotRepositoryMock.Setup(m => m.Get(It.IsAny <Guid>())).Returns(touristSpot2);
            touristSpotRepositoryMock.Setup(m => m.Update(It.IsAny <TouristSpot>()));

            var touristSpotLogic = new TouristSpotManagement(touristSpotRepositoryMock.Object);

            var resultOfUpdate = touristSpotLogic.UpdateTouristSpot(touristSpotToUpdate);

            touristSpotRepositoryMock.VerifyAll();
            Assert.IsTrue(resultOfUpdate.Name.Equals("Colonia"));
        }
        public void CreateValidReserveTestOk()
        {
            var reserveRepositoryMock = new Mock <IRepository <Reserve> >(MockBehavior.Strict);

            reserveRepositoryMock.Setup(m => m.Add(It.IsAny <Reserve>()));

            var lodgingRepositoryMock = new Mock <ILodgingRepository>(MockBehavior.Strict);

            lodgingRepositoryMock.Setup(m => m.Get(It.IsAny <Guid>())).Returns(lodging);

            var touristSpotRepositoryMock = new Mock <ITouristSpotRepository>(MockBehavior.Strict);

            touristSpotRepositoryMock.Setup(m => m.Get(It.IsAny <Guid>())).Returns(touristSpot);
            var touristSpotLogic = new TouristSpotManagement(touristSpotRepositoryMock.Object);

            LodgingManagement lodgingLogic = new LodgingManagement(lodgingRepositoryMock.Object, touristSpotLogic);
            ReserveManagement reserveLogic = new ReserveManagement(reserveRepositoryMock.Object, lodgingLogic);

            Reserve reserve = new Reserve()
            {
                Name            = "Joaquin",
                LastName        = "Lamela",
                Email           = "*****@*****.**",
                CheckIn         = new DateTime(2020, 05, 25),
                CheckOut        = new DateTime(2020, 06, 10),
                QuantityOfAdult = 2,
                QuantityOfChild = 2,
                QuantityOfBaby  = 1
            };

            Reserve resultOfCreateAReserve = reserveLogic.Create(reserve, lodging.Id);

            reserveRepositoryMock.VerifyAll();
            Assert.IsTrue(reserve.Equals(resultOfCreateAReserve));
        }
        public void CreateInvalidReserveWithoutLodgingTest()
        {
            var reserveRepositoryMock = new Mock <IRepository <Reserve> >(MockBehavior.Strict);

            reserveRepositoryMock.Setup(m => m.Add(It.IsAny <Reserve>()));

            var lodgingRepositoryMock = new Mock <ILodgingRepository>(MockBehavior.Strict);

            lodgingRepositoryMock.Setup(m => m.Get(It.IsAny <Guid>())).Throws(new ClientBusinessLogicException());

            var touristSpotRepositoryMock = new Mock <ITouristSpotRepository>(MockBehavior.Strict);

            touristSpotRepositoryMock.Setup(m => m.Get(It.IsAny <Guid>())).Returns(touristSpot);
            var touristSpotLogic = new TouristSpotManagement(touristSpotRepositoryMock.Object);

            LodgingManagement lodgingLogic = new LodgingManagement(lodgingRepositoryMock.Object, touristSpotLogic);
            var reserveLogic = new ReserveManagement(reserveRepositoryMock.Object, lodgingLogic);

            reserveLogic = new ReserveManagement(reserveRepositoryMock.Object, lodgingLogic);

            Reserve reserve = new Reserve()
            {
                Name            = "Joaquin",
                LastName        = "Lamela",
                Email           = "*****@*****.**",
                CheckIn         = new DateTime(2020, 05, 25),
                CheckOut        = new DateTime(2020, 06, 10),
                QuantityOfAdult = 2,
                QuantityOfChild = 2,
                QuantityOfBaby  = 1
            };

            Reserve resultOfCreateAReserve = reserveLogic.Create(reserve, lodging.Id);
        }
Esempio n. 4
0
        public void CreateInvalidLodgingWithoutRegionOnTouristSpotTest()
        {
            var lodgingRepositoryMock = new Mock <ILodgingRepository>(MockBehavior.Strict);

            lodgingRepositoryMock.Setup(m => m.Add(It.IsAny <Lodging>()));
            lodgingRepositoryMock.Setup(m => m.GetLodgingByNameAndTouristSpot(lodging.Name, touristSpot.Id)).Returns(value: null);

            var touristSpotRepositoryMock = new Mock <ITouristSpotRepository>(MockBehavior.Strict);

            touristSpotRepositoryMock.Setup(m => m.Get(It.IsAny <Guid>())).Throws(new ClientBusinessLogicException());
            touristSpotRepositoryMock.Setup(m => m.GetTouristSpotByName(It.IsAny <string>())).Returns(value: null);
            touristSpotRepositoryMock.Setup(m => m.Add(It.IsAny <TouristSpot>()));

            var regionMock = new Mock <IRepository <Region> >(MockBehavior.Strict);

            regionMock.Setup(m => m.Get(It.IsAny <Guid>())).Throws(new ClientBusinessLogicException());
            RegionManagement regionLogic = new RegionManagement(regionMock.Object);

            var categoryMock = new Mock <ICategoryRepository>(MockBehavior.Strict);

            categoryMock.Setup(m => m.Get(It.IsAny <Guid>())).Returns(aCategory);
            CategoryManagement categoryLogic = new CategoryManagement(categoryMock.Object);

            TouristSpotManagement touristSpotLogic = new TouristSpotManagement(touristSpotRepositoryMock.Object, regionLogic, categoryLogic);

            LodgingManagementForImportation lodgingLogic = new LodgingManagementForImportation(lodgingRepositoryMock.Object, touristSpotLogic);

            Lodging resultOfCreateALodging = lodgingLogic.Create(lodging, touristSpot, listOfPicturesPath);
        }
Esempio n. 5
0
        public void CreateValidLodgingTestOk()
        {
            var lodgingRepositoryMock = new Mock <ILodgingRepository>(MockBehavior.Strict);

            lodgingRepositoryMock.Setup(m => m.Add(It.IsAny <Lodging>()));
            lodgingRepositoryMock.Setup(m => m.GetLodgingByNameAndTouristSpot(lodging.Name, touristSpot.Id)).Returns(value: null);

            var touristSpotRepositoryMock = new Mock <ITouristSpotRepository>(MockBehavior.Strict);

            touristSpotRepositoryMock.Setup(m => m.Get(It.IsAny <Guid>())).Returns(touristSpot);
            TouristSpotManagement touristSpotLogic = new TouristSpotManagement(touristSpotRepositoryMock.Object);

            LodgingManagementForImportation lodgingLogicForImportation = new LodgingManagementForImportation(lodgingRepositoryMock.Object, touristSpotLogic);

            Lodging resultOfCreateALodging = lodgingLogicForImportation.Create(lodging, touristSpot, listOfPicturesPath);

            Lodging lodgingToCompare = new Lodging()
            {
                Id              = resultOfCreateALodging.Id,
                Name            = resultOfCreateALodging.Name,
                QuantityOfStars = resultOfCreateALodging.QuantityOfStars,
                Address         = resultOfCreateALodging.Address,
                Images          = resultOfCreateALodging.Images,
                PricePerNight   = resultOfCreateALodging.PricePerNight,
                IsAvailable     = resultOfCreateALodging.IsAvailable,
                TouristSpot     = resultOfCreateALodging.TouristSpot
            };

            lodgingRepositoryMock.VerifyAll();
            Assert.AreEqual(lodging, lodgingToCompare);
        }
        public void RemoveInvalidTouristSpotNotExist()
        {
            var touristSpotRepositoryMock = new Mock <ITouristSpotRepository>(MockBehavior.Strict);

            touristSpotRepositoryMock.Setup(m => m.Get(It.IsAny <Guid>())).Throws(new ClientException());
            touristSpotRepositoryMock.Setup(m => m.Remove(It.IsAny <TouristSpot>()));

            var touristSpotLogic = new TouristSpotManagement(touristSpotRepositoryMock.Object);

            touristSpotLogic.RemoveTouristSpot(touristSpot1.Id);
        }
        public void RemoveInvalidTouristSpotInternalError()
        {
            var touristSpotRepositoryMock = new Mock <ITouristSpotRepository>(MockBehavior.Strict);

            touristSpotRepositoryMock.Setup(m => m.Get(It.IsAny <Guid>())).Throws(new ServerException());
            touristSpotRepositoryMock.Setup(m => m.Remove(It.IsAny <TouristSpot>()));
            touristSpotRepositoryMock.Setup(m => m.GetAll()).Returns(new List <TouristSpot>());

            var touristSpotLogic = new TouristSpotManagement(touristSpotRepositoryMock.Object);

            touristSpotLogic.RemoveTouristSpot(touristSpot1.Id);
        }
        public void FailInUpdateTouristSpotWithLargeDescription()
        {
            TouristSpot touristSpotToUpdate = new TouristSpot()
            {
                Id          = touristSpot2.Id,
                Name        = "Colonia",
                Description = "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" +
                              "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" +
                              "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" +
                              "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" +
                              "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" +
                              "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" +
                              "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" +
                              "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" +
                              "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" +
                              "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" +
                              "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" +
                              "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" +
                              "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" +
                              "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" +
                              "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" +
                              "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" +
                              "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" +
                              "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" +
                              "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" +
                              "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" +
                              "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" +
                              "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" +
                              "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" +
                              "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" +
                              "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" +
                              "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
                Region           = region1,
                ListOfCategories = new List <CategoryTouristSpot>()
                {
                    categoryTouristSpot1
                },
                Image = picture
            };

            var touristSpotRepositoryMock = new Mock <ITouristSpotRepository>(MockBehavior.Strict);

            touristSpotRepositoryMock.Setup(m => m.Get(It.IsAny <Guid>())).Returns(touristSpot2);;
            touristSpotRepositoryMock.Setup(m => m.Update(It.IsAny <TouristSpot>()));

            var touristSpotLogic = new TouristSpotManagement(touristSpotRepositoryMock.Object);

            var resultOfUpdate = touristSpotLogic.UpdateTouristSpot(touristSpotToUpdate);
        }
        public void FailAboutGetAllTouristSpotClientExceptionTest()
        {
            List <TouristSpot> touristSpotToReturn = new List <TouristSpot>()
            {
                touristSpot1, touristSpot2, touristSpot3
            };

            var touristSpotRepositoryMock = new Mock <ITouristSpotRepository>(MockBehavior.Strict);

            touristSpotRepositoryMock.Setup(m => m.GetAll()).Throws(new ClientException());

            var touristSpotLogic = new TouristSpotManagement(touristSpotRepositoryMock.Object);

            List <TouristSpot> touristSpotObteinedOfGetAll = touristSpotLogic.GetAllTouristSpot();
        }
        public void CreateInvalidLodgingInternalErrorWhenSearchLodgingByNameTest()
        {
            var lodgingRepositoryMock = new Mock <ILodgingRepository>(MockBehavior.Strict);

            lodgingRepositoryMock.Setup(m => m.Add(It.IsAny <Lodging>()));
            lodgingRepositoryMock.Setup(m => m.GetLodgingByNameAndTouristSpot(lodging.Name, touristSpot.Id)).Throws(new ServerException());

            var touristSpotRepositoryMock = new Mock <ITouristSpotRepository>(MockBehavior.Strict);

            touristSpotRepositoryMock.Setup(m => m.Get(It.IsAny <Guid>())).Throws(new ClientBusinessLogicException());
            TouristSpotManagement touristSpotLogic = new TouristSpotManagement(touristSpotRepositoryMock.Object);

            LodgingManagement lodgingLogic = new LodgingManagement(lodgingRepositoryMock.Object, touristSpotLogic);

            Lodging resultOfCreateALodging = lodgingLogic.Create(lodging, touristSpot.Id, listOfPicturesPath);
        }
Esempio n. 11
0
        public void CreateInvalidLodgingWithErrorInAddTest()
        {
            var lodgingRepositoryMock = new Mock <ILodgingRepository>(MockBehavior.Strict);

            lodgingRepositoryMock.Setup(m => m.Add(It.IsAny <Lodging>())).Throws(new ServerException());
            lodgingRepositoryMock.Setup(m => m.GetLodgingByNameAndTouristSpot(lodging.Name, touristSpot.Id)).Returns(value: null);

            var touristSpotRepositoryMock = new Mock <ITouristSpotRepository>(MockBehavior.Strict);

            touristSpotRepositoryMock.Setup(m => m.Get(It.IsAny <Guid>())).Returns(touristSpot);
            TouristSpotManagement touristSpotLogic = new TouristSpotManagement(touristSpotRepositoryMock.Object);

            LodgingManagementForImportation lodgingLogic = new LodgingManagementForImportation(lodgingRepositoryMock.Object, touristSpotLogic);

            Lodging resultOfCreateALodging = lodgingLogic.Create(lodging, touristSpot, listOfPicturesPath);
        }
        public void GetValidTouristSpotById()
        {
            Region region1 = new Region()
            {
                Id   = Guid.NewGuid(),
                Name = Region.RegionName.Región_Centro_Sur
            };

            Category category = new Category()
            {
                Id   = Guid.NewGuid(),
                Name = "Playa"
            };

            Guid idForTouristSpot = Guid.NewGuid();

            CategoryTouristSpot categoryTouristSpot = new CategoryTouristSpot()
            {
                CategoryId    = category.Id,
                TouristSpotId = idForTouristSpot
            };

            TouristSpot touristSpot = new TouristSpot
            {
                Id               = idForTouristSpot,
                Name             = "Punta del este",
                Description      = "Lo mejor para gastar.",
                Region           = region1,
                ListOfCategories = new List <CategoryTouristSpot>()
                {
                    categoryTouristSpot
                },
                Image = picture
            };

            var touristSpotRepositoryMock = new Mock <ITouristSpotRepository>(MockBehavior.Strict);

            touristSpotRepositoryMock.Setup(m => m.Get(It.IsAny <Guid>())).Returns(touristSpot);

            var touristSpotLogic = new TouristSpotManagement(touristSpotRepositoryMock.Object);

            var result = touristSpotLogic.GetTouristSpotById(idForTouristSpot);

            touristSpotRepositoryMock.VerifyAll();
            Assert.AreEqual(touristSpot, result);
        }
        public void RemoveValidTouristSpot()
        {
            var touristSpotRepositoryMock = new Mock <ITouristSpotRepository>(MockBehavior.Strict);

            touristSpotRepositoryMock.Setup(m => m.Get(It.IsAny <Guid>())).Returns(touristSpot1);
            touristSpotRepositoryMock.Setup(m => m.Remove(It.IsAny <TouristSpot>()));
            touristSpotRepositoryMock.Setup(m => m.GetAll()).Returns(new List <TouristSpot>());

            var touristSpotLogic = new TouristSpotManagement(touristSpotRepositoryMock.Object);

            touristSpotLogic.RemoveTouristSpot(touristSpot1.Id);

            List <TouristSpot> listOfTouristSpot = touristSpotLogic.GetAllTouristSpot();

            touristSpotRepositoryMock.VerifyAll();
            Assert.IsTrue(listOfTouristSpot.Count == 0);
        }
        public void CreateValidTouristSpot()
        {
            TouristSpot touristSpot = new TouristSpot
            {
                Id          = Guid.NewGuid(),
                Name        = "Punta del este",
                Description = "Lo mejor para gastar.",
                Image       = picture
            };
            var touristSpotRepositoryMock = new Mock <ITouristSpotRepository>(MockBehavior.Strict);

            touristSpotRepositoryMock.Setup(m => m.Add(It.IsAny <TouristSpot>()));
            touristSpotRepositoryMock.Setup(m => m.GetTouristSpotByName(touristSpot.Name)).Returns(value: null);


            Guid        regionId         = Guid.NewGuid();
            List <Guid> listIdCategories = new List <Guid>();
            Guid        id = Guid.NewGuid();

            listIdCategories.Add(id);

            var categoriesRepositoryMock = new Mock <ICategoryRepository>(MockBehavior.Strict);

            categoriesRepositoryMock.Setup(m => m.Get(id)).Returns(new Category()
            {
                Id = id
            });

            var regionsRepositoryMock = new Mock <IRepository <Region> >(MockBehavior.Strict);

            regionsRepositoryMock.Setup(m => m.Get(regionId)).Returns(new Region()
            {
                Id = regionId
            });

            var categoryLogic = new CategoryManagement(categoriesRepositoryMock.Object);
            var regionLogic   = new RegionManagement(regionsRepositoryMock.Object);

            var touristSpotLogic = new TouristSpotManagement(touristSpotRepositoryMock.Object, regionLogic, categoryLogic);

            var result = touristSpotLogic.Create(touristSpot, regionId, listIdCategories);

            touristSpotRepositoryMock.VerifyAll();
            Assert.AreEqual(result.Id, touristSpot.Id);
        }
        public void CreateInvalidLodgingWithInvalidPriceTest()
        {
            lodging.PricePerNight = -10;

            var lodgingRepositoryMock = new Mock <ILodgingRepository>(MockBehavior.Strict);

            lodgingRepositoryMock.Setup(m => m.Add(It.IsAny <Lodging>()));
            lodgingRepositoryMock.Setup(m => m.GetLodgingByNameAndTouristSpot(lodging.Name, touristSpot.Id)).Returns(value: null);

            var touristSpotRepositoryMock = new Mock <ITouristSpotRepository>(MockBehavior.Strict);

            touristSpotRepositoryMock.Setup(m => m.Get(It.IsAny <Guid>())).Returns(touristSpot);
            TouristSpotManagement touristSpotLogic = new TouristSpotManagement(touristSpotRepositoryMock.Object);

            LodgingManagement lodgingLogic = new LodgingManagement(lodgingRepositoryMock.Object, touristSpotLogic);

            Lodging resultOfCreateALodging = lodgingLogic.Create(lodging, touristSpot.Id, listOfPicturesPath);
        }
Esempio n. 16
0
        public void CreateValidLodgingWithoutTouristSpotTest()
        {
            var lodgingRepositoryMock = new Mock <ILodgingRepository>(MockBehavior.Strict);

            lodgingRepositoryMock.Setup(m => m.Add(It.IsAny <Lodging>()));
            lodgingRepositoryMock.Setup(m => m.GetLodgingByNameAndTouristSpot(lodging.Name, touristSpot.Id)).Returns(value: null);

            var touristSpotRepositoryMock = new Mock <ITouristSpotRepository>(MockBehavior.Strict);

            touristSpotRepositoryMock.Setup(m => m.Get(It.IsAny <Guid>())).Throws(new ClientBusinessLogicException());
            touristSpotRepositoryMock.Setup(m => m.GetTouristSpotByName(It.IsAny <string>())).Returns(value: null);
            touristSpotRepositoryMock.Setup(m => m.Add(It.IsAny <TouristSpot>()));

            var regionMock = new Mock <IRepository <Region> >(MockBehavior.Strict);

            regionMock.Setup(m => m.Get(It.IsAny <Guid>())).Returns(region);
            RegionManagement regionLogic = new RegionManagement(regionMock.Object);

            var categoryMock = new Mock <ICategoryRepository>(MockBehavior.Strict);

            categoryMock.Setup(m => m.Get(It.IsAny <Guid>())).Returns(aCategory);
            CategoryManagement categoryLogic = new CategoryManagement(categoryMock.Object);

            TouristSpotManagement touristSpotLogic = new TouristSpotManagement(touristSpotRepositoryMock.Object, regionLogic, categoryLogic);

            LodgingManagementForImportation lodgingLogic = new LodgingManagementForImportation(lodgingRepositoryMock.Object, touristSpotLogic);

            Lodging resultOfCreateALodging = lodgingLogic.Create(lodging, touristSpot, listOfPicturesPath);

            Lodging lodgingToCompare = new Lodging()
            {
                Id              = resultOfCreateALodging.Id,
                Name            = resultOfCreateALodging.Name,
                QuantityOfStars = resultOfCreateALodging.QuantityOfStars,
                Address         = resultOfCreateALodging.Address,
                Images          = resultOfCreateALodging.Images,
                PricePerNight   = resultOfCreateALodging.PricePerNight,
                IsAvailable     = resultOfCreateALodging.IsAvailable,
                TouristSpot     = resultOfCreateALodging.TouristSpot
            };

            lodgingRepositoryMock.VerifyAll();
            Assert.AreEqual(lodging, lodgingToCompare);
        }
        public void GetAllTouristSpot()
        {
            List <TouristSpot> touristSpotToReturn = new List <TouristSpot>()
            {
                touristSpot1, touristSpot2, touristSpot3
            };

            var touristSpotRepositoryMock = new Mock <ITouristSpotRepository>(MockBehavior.Strict);

            touristSpotRepositoryMock.Setup(m => m.GetAll()).Returns(touristSpotToReturn);

            var touristSpotLogic = new TouristSpotManagement(touristSpotRepositoryMock.Object);

            List <TouristSpot> touristSpotObteinedOfGetAll = touristSpotLogic.GetAllTouristSpot();

            touristSpotRepositoryMock.VerifyAll();

            CollectionAssert.AreEqual(touristSpotToReturn, touristSpotObteinedOfGetAll);
        }
        public void GetNotFoundTouristSpotSearchByCategoriesAndRegion()
        {
            List <TouristSpot> listOfTouristSpotSearched = new List <TouristSpot>()
            {
                touristSpot1, touristSpot2
            };
            List <Guid> listOfCategoriesToSearch = new List <Guid>()
            {
                category1.Id, category2.Id
            };

            var touristSpotRepositoryMock = new Mock <ITouristSpotRepository>(MockBehavior.Strict);

            touristSpotRepositoryMock.Setup(m => m.GetTouristSpotsByCategoriesAndRegion(listOfCategoriesToSearch, region1.Id)).Throws(new ClientException());

            var touristSpotLogic = new TouristSpotManagement(touristSpotRepositoryMock.Object);

            var result = touristSpotLogic.GetTouristSpotsByCategoriesAndRegion(listOfCategoriesToSearch, region1.Id);
        }
        public void CreateInvalidTouristSpotWithErrorInAdd()
        {
            TouristSpot touristSpot = new TouristSpot
            {
                Id          = Guid.NewGuid(),
                Name        = "Punta del este",
                Description = "Donde la naturaleza y el lujo convergen",
                Image       = picture
            };
            var touristSpotRepositoryMock = new Mock <ITouristSpotRepository>(MockBehavior.Strict);

            touristSpotRepositoryMock.Setup(m => m.Add(It.IsAny <TouristSpot>())).Throws(new ServerException());
            touristSpotRepositoryMock.Setup(m => m.GetTouristSpotByName(touristSpot.Name)).Returns(value: null);

            Guid        regionId         = Guid.NewGuid();
            List <Guid> listIdCategories = new List <Guid>();
            Guid        id = Guid.NewGuid();

            listIdCategories.Add(id);

            var categoriesRepositoryMock = new Mock <ICategoryRepository>(MockBehavior.Strict);

            categoriesRepositoryMock.Setup(m => m.Get(id)).Returns(new Category()
            {
                Id = id
            });

            var regionsRepositoryMock = new Mock <IRepository <Region> >(MockBehavior.Strict);

            regionsRepositoryMock.Setup(m => m.Get(regionId)).Returns(new Region()
            {
                Id = regionId
            });

            var categoryLogic = new CategoryManagement(categoriesRepositoryMock.Object);
            var regionLogic   = new RegionManagement(regionsRepositoryMock.Object);

            var touristSpotLogic = new TouristSpotManagement(touristSpotRepositoryMock.Object, regionLogic, categoryLogic);

            var result = touristSpotLogic.Create(touristSpot, regionId, listIdCategories);
        }
        public void CreateInvalidTouristSpotInternalErrorWhenSearchTouristSpotByName()
        {
            TouristSpot touristSpot = new TouristSpot
            {
                Id          = Guid.NewGuid(),
                Name        = "Punta del este",
                Description = "Lo mejor para gastar.",
                Image       = picture
            };
            var touristSpotRepositoryMock = new Mock <ITouristSpotRepository>(MockBehavior.Strict);

            touristSpotRepositoryMock.Setup(m => m.Add(It.IsAny <TouristSpot>()));
            touristSpotRepositoryMock.Setup(m => m.GetTouristSpotByName(touristSpot.Name)).Throws(new ServerException());


            Guid        regionId         = Guid.NewGuid();
            List <Guid> listIdCategories = new List <Guid>();
            Guid        id = Guid.NewGuid();

            var categoriesRepositoryMock = new Mock <ICategoryRepository>(MockBehavior.Strict);

            categoriesRepositoryMock.Setup(m => m.Get(id)).Returns(new Category()
            {
                Id = id
            });

            var regionsRepositoryMock = new Mock <IRepository <Region> >(MockBehavior.Strict);

            regionsRepositoryMock.Setup(m => m.Get(regionId)).Returns(new Region()
            {
                Id = regionId
            });

            var categoryLogic = new CategoryManagement(categoriesRepositoryMock.Object);
            var regionLogic   = new RegionManagement(regionsRepositoryMock.Object);

            var touristSpotLogic = new TouristSpotManagement(touristSpotRepositoryMock.Object, regionLogic, categoryLogic);

            var result = touristSpotLogic.Create(touristSpot, regionId, listIdCategories);
        }
        public void GetValidTouristSpotSearchByCategoriesAndRegion()
        {
            List <TouristSpot> listOfTouristSpotSearched = new List <TouristSpot>()
            {
                touristSpot1
            };
            List <Guid> listOfCategoriesToSearch = new List <Guid>()
            {
                category1.Id, category2.Id
            };

            var touristSpotRepositoryMock = new Mock <ITouristSpotRepository>(MockBehavior.Strict);

            touristSpotRepositoryMock.Setup(m => m.GetTouristSpotsByCategoriesAndRegion(listOfCategoriesToSearch, region1.Id)).Returns(listOfTouristSpotSearched);

            var touristSpotLogic = new TouristSpotManagement(touristSpotRepositoryMock.Object);

            var result = touristSpotLogic.GetTouristSpotsByCategoriesAndRegion(listOfCategoriesToSearch, region1.Id);

            touristSpotRepositoryMock.VerifyAll();
            Assert.AreEqual(touristSpot1, result[0]);
        }
        public void FailInUpdateTouristSpotWithoutName()
        {
            TouristSpot touristSpotToUpdate = new TouristSpot()
            {
                Id               = touristSpot2.Id,
                Name             = "",
                Description      = "Para tomarte un relax con tu pareja y descansar.",
                Region           = region1,
                ListOfCategories = new List <CategoryTouristSpot>()
                {
                    categoryTouristSpot1
                },
                Image = picture
            };

            var touristSpotRepositoryMock = new Mock <ITouristSpotRepository>(MockBehavior.Strict);

            touristSpotRepositoryMock.Setup(m => m.Get(It.IsAny <Guid>())).Returns(touristSpot2);;
            touristSpotRepositoryMock.Setup(m => m.Update(It.IsAny <TouristSpot>()));

            var touristSpotLogic = new TouristSpotManagement(touristSpotRepositoryMock.Object);

            var resultOfUpdate = touristSpotLogic.UpdateTouristSpot(touristSpotToUpdate);
        }