Esempio n. 1
0
        public void Quit_WhenError_ShouldRollback()
        {
            var trip     = ModelTestHelper.CreateTrip(-1, "QuitError");
            var services = new TripServices();
            var userTrip = ModelTestHelper.CreateUserTrip(2, trip.TripName);

            services.CreateTrip(trip, 1);
            Assert.IsFalse(services.HasErrors);
            var reloadedTrip = services.GetTrip(trip.Id);

            Assert.IsNotNull(reloadedTrip);
            Assert.AreEqual(1, reloadedTrip.Participants.Count());
            services.Participate(reloadedTrip, 2, "aSecondUser");
            Assert.IsFalse(services.HasErrors, string.Join(",", services.Errors));
            var mockUserTripRepo = new Mock <IUserTripRepository>();

            mockUserTripRepo.Setup(s => s.GetUserTrip(2, reloadedTrip.TripName)).Returns(userTrip);
            mockUserTripRepo.Setup(s => s.HasErrors).Returns(true);
            mockUserTripRepo.Setup(s => s.Errors).Returns(new List <string>());
            var secondServices = new TripServices(new TripRepository(), new PotRepository(), new TripParticipantRepository(),
                                                  mockUserTripRepo.Object, new PotUserRepository());

            secondServices.Quit(reloadedTrip, 2, "aSecondUser");
            Assert.IsTrue(secondServices.HasErrors);
            Assert.AreEqual(2, services.GetParticipants(reloadedTrip.Id).Count());
        }
Esempio n. 2
0
        public void DeleteTrip_WhenError_ShouldRollback()
        {
            var trip     = ModelTestHelper.CreateTrip(-1, "deleteTripError");
            var services = new TripServices();

            services.CreateTrip(trip, 1);
            Assert.IsFalse(services.HasErrors);
            var reloadedTrip = services.GetTrip(trip.Id);

            Assert.IsNotNull(reloadedTrip);
            var userTrip         = ModelTestHelper.CreateUserTrip(1, trip.TripName);
            var mockUserTripRepo = new Mock <IUserTripRepository>();

            mockUserTripRepo.Setup(s => s.GetUserTripsByTrip(trip.TripName)).Returns(new List <UserTrip> {
                userTrip
            });
            mockUserTripRepo.SetupGet(s => s.HasErrors).Returns(true);
            mockUserTripRepo.SetupGet(s => s.Errors).Returns(new List <string>());
            var secondServices = new TripServices(new TripRepository(), new PotRepository(), new TripParticipantRepository(),
                                                  mockUserTripRepo.Object, new PotUserRepository());

            secondServices.DeleteTrip(reloadedTrip);
            Assert.IsTrue(secondServices.HasErrors);
            reloadedTrip = services.GetTrip(trip.Id);
            Assert.IsNotNull(reloadedTrip);
            Assert.AreEqual(1, reloadedTrip.Participants.Count());
        }
Esempio n. 3
0
        public void LoginByMail_WhenValid_ShouldNotLogError()
        {
            var user = ModelTestHelper.CreateUser(1, "toto");

            _mockUserRepo.SetupGet(s => s.HasErrors).Returns(false);
            _mockUserRepo.Setup(s => s.GetUserByMail(user.Mail, user.Password)).Returns(user);
            _mockUserRepo.SetupGet(s => s.Errors).Returns(new List <string>());
            _mockFriendshipRepo.SetupGet(s => s.HasErrors).Returns(false);
            _mockFriendshipRepo.Setup(s => s.GetUserFriendships(user.Id))
            .Returns(new List <Friendship> {
                ModelTestHelper.CreateFriendship(user.Id, "aFriend")
            });
            _mockTripRepo.SetupGet(s => s.HasErrors).Returns(false);
            _mockTripRepo.Setup(s => s.GetUserTrips(user.Id))
            .Returns(new List <UserTrip> {
                ModelTestHelper.CreateUserTrip(user.Id, "aTrip")
            });
            CreateUserServices();
            var dbUser = _userServices.LoginByMail(user.Mail, user.Password);

            Assert.IsFalse(_userServices.HasErrors);
            Assert.IsNotNull(dbUser);
            Assert.AreEqual(1, dbUser.Friends.Count());
            Assert.AreEqual(1, dbUser.Trips.Count());
        }
Esempio n. 4
0
        public void Equals_ShouldReturnCorrectValue(int firstId, string firstTripName, int secondId, string secondTripName,
                                                    bool expected)
        {
            var firstUserTrip  = ModelTestHelper.CreateUserTrip(firstId, firstTripName);
            var secondUserTrip = ModelTestHelper.CreateUserTrip(secondId, secondTripName);

            Assert.AreEqual(expected, firstUserTrip.Equals(secondUserTrip));
        }
Esempio n. 5
0
        public void SaveUserTrip_WhenValid_ShouldNotSetErrors()
        {
            var mock = CreateMock();

            mock.Setup(s => s.Save(It.IsAny <UserTrip>())).Returns(true);
            var repo     = CreateRepository(mock.Object);
            var userTrip = ModelTestHelper.CreateUserTrip(1, "MyTrip");

            repo.SaveUserTrip(userTrip);
            Assert.IsFalse(repo.HasErrors);
        }
Esempio n. 6
0
        public void Clone_ShoulDuplicateValues()
        {
            var user = ModelTestHelper.CreateUser(1, "Clone", mail: "CloneEmail", role: Role.Common,
                                                  phoneNumber: "ClonePhoneNumber");

            user.CenterOfInterests.Add("ACenterOfInterest");
            user.CenterOfInterests.Add("Tennis");
            user.AddFriend(ModelTestHelper.CreateFriendship(1, "AFriend"));
            user.AddFriend(ModelTestHelper.CreateFriendship(1, "TOTO"));
            user.AddTrip(ModelTestHelper.CreateUserTrip(1, "ATrip"));
            user.AddTrip(ModelTestHelper.CreateUserTrip(1, "SecondTrip"));
            TestClone(user);
        }
Esempio n. 7
0
        public void GetUserTrip_WhenValid_ShouldNotSetError()
        {
            var mock = CreateMock();

            mock.Setup(s => s.GetEntity(It.IsAny <UserTripKey>())).Returns(ModelTestHelper.CreateUserTrip(1, "GetUserTripTest"));
            var repo     = CreateRepository(mock.Object);
            var userTrip = repo.GetUserTrip(1, "GetUserTripTest");

            Assert.IsFalse(repo.HasErrors);
            Assert.IsNotNull(userTrip);
            Assert.AreEqual(1, userTrip.UserId);
            Assert.AreEqual("GetUserTripTest", userTrip.TripName);
        }
Esempio n. 8
0
        public void GetUserTrips_WhenValid_ShouldNotLogError()
        {
            _mockTripRepo.SetupGet(s => s.HasErrors).Returns(false);
            _mockTripRepo.SetupGet(s => s.Errors).Returns(new List <string>());
            _mockTripRepo.Setup(s => s.GetUserTrips(1))
            .Returns(new List <UserTrip> {
                ModelTestHelper.CreateUserTrip(1, "one"), ModelTestHelper.CreateUserTrip(1, "two")
            });
            CreateUserServices();
            var list = _userServices.GetUserTrips(1);

            Assert.IsFalse(_userServices.HasErrors);
            Assert.AreEqual(2, list.Count());
        }
        public void Delete_WhenErrorDuringDelete_ShouldRollBack()
        {
            var userRepo       = new UserRepository();
            var friendshipRepo = new FriendshipRepository();
            var tripRepo       = new UserTripRepository();

            var user = ModelTestHelper.CreateUser(1, "DeleteUser");
            var pwd  = user.Password;

            userRepo.SaveUser(user);
            Assert.IsFalse(userRepo.HasErrors);
            var secondUser = ModelTestHelper.CreateUser(2, "AFriend", "AFriendMail");

            userRepo.SaveUser(secondUser);
            Assert.IsFalse(userRepo.HasErrors);

            var friendship      = ModelTestHelper.CreateFriendship(user.Id, secondUser.Pseudo);
            var otherFriendship = ModelTestHelper.CreateFriendship(secondUser.Id, user.Pseudo);

            friendshipRepo.SaveFriendship(friendship);
            friendshipRepo.SaveFriendship(otherFriendship);
            Assert.IsFalse(friendshipRepo.HasErrors);
            user.AddFriend(friendship);
            secondUser.AddFriend(otherFriendship);

            var trip = ModelTestHelper.CreateUserTrip(user.Id, "ATrip");

            tripRepo.SaveUserTrip(trip);
            Assert.IsFalse(tripRepo.HasErrors);
            user.AddTrip(trip);

            var mock = new Mock <IUserTripRepository>();

            mock.Setup(s => s.DeleteUserTrip(trip)).Callback(() => tripRepo.DeleteUserTrip(trip));
            mock.SetupGet(s => s.HasErrors).Returns(true);
            var service = new UserServices(new UserRepository(), mock.Object, new FriendshipRepository());

            service.DeleteUser(user);
            service = new UserServices();
            var dbUser = service.LoginByPseudo(user.Pseudo, pwd);

            Assert.IsNotNull(dbUser);
            Assert.AreEqual(1, dbUser.Friends.Count());
            Assert.AreEqual(1, dbUser.Trips.Count());
            Assert.AreEqual(1, service.GetUserTrips(user.Id).Count());
            Assert.AreEqual(1, service.GetUserFriendships(user.Id).Count());
            Assert.AreEqual(1, service.GetUserFriendships(secondUser.Id).Count(f => f.FriendName == user.Pseudo));
        }
Esempio n. 10
0
        public void GetAllUserTrips_WhenValid_ShouldNotSetErrors()
        {
            var list = new List <UserTrip> {
                ModelTestHelper.CreateUserTrip(1, "Trip1"), ModelTestHelper.CreateUserTrip(2, "Trip2")
            };
            var mock = CreateMock();

            mock.Setup(s => s.GetAllEntities()).Returns(list);
            var repo   = CreateRepository(mock.Object);
            var dbList = repo.GetAllUserTrip();

            Assert.IsFalse(repo.HasErrors);
            Assert.AreEqual(2, dbList.Count());
            Assert.IsTrue(dbList.Any(u => u.UserId == 1));
            Assert.IsTrue(dbList.Any(u => u.UserId == 2));
        }
Esempio n. 11
0
        public void GetUserTrips_WhenValid_ShouldNotSetErrors()
        {
            var list = new List <UserTrip> {
                ModelTestHelper.CreateUserTrip(1, "Trip1"), ModelTestHelper.CreateUserTrip(1, "Trip2")
            };
            var mock = CreateMock();

            mock.Setup(s => s.GetTripForUser(It.IsAny <int>())).Returns(list);
            var repo   = CreateRepository(mock.Object);
            var dbList = repo.GetUserTrips(1);

            Assert.IsFalse(repo.HasErrors);
            Assert.AreEqual(2, dbList.Count());
            Assert.IsTrue(dbList.Any(u => u.TripName == "Trip1"));
            Assert.IsTrue(dbList.Any(u => u.TripName == "Trip2"));
        }
        public void GetTripForUser_ShouldReturnOnlyUserTrip()
        {
            var firstUserTrip  = ModelTestHelper.CreateUserTrip(1, "First");
            var secondUserTrip = ModelTestHelper.CreateUserTrip(2, "Second");
            var thirdUserTrip  = ModelTestHelper.CreateUserTrip(1, "Third");

            Assert.IsTrue(_importExport.Save(firstUserTrip));
            Assert.IsTrue(_importExport.Save(secondUserTrip));
            Assert.IsTrue(_importExport.Save(thirdUserTrip));
            var list = _importExport.GetTripForUser(1);

            Assert.AreEqual(2, list.Count());
            Assert.IsTrue(list.Any(u => u.TripName == "First"));
            Assert.IsFalse(list.Any(u => u.TripName == "Second"));
            Assert.IsTrue(list.Any((u => u.TripName == "Third")));
            Assert.IsFalse(list.Any(u => u.UserId == 2));
        }
        public void GetUserTripsByTrip_ShouldReturnRightRecord()
        {
            var firstUserTrip  = ModelTestHelper.CreateUserTrip(1, "First");
            var secondUserTrip = ModelTestHelper.CreateUserTrip(2, "Second");
            var thirdUserTrip  = ModelTestHelper.CreateUserTrip(3, "First");

            Assert.IsTrue(_importExport.Save(firstUserTrip));
            Assert.IsTrue(_importExport.Save(secondUserTrip));
            Assert.IsTrue(_importExport.Save(thirdUserTrip));
            var list = _importExport.GetUserTripsByTrip("First");

            Assert.AreEqual(2, list.Count());
            Assert.IsTrue(list.Any(u => u.UserId == 1));
            Assert.IsFalse(list.Any(u => u.TripName == "Second"));
            Assert.IsTrue(list.Any((u => u.UserId == 3)));
            Assert.IsFalse(list.Any(u => u.UserId == 2));
        }
        public void GetAllEntities_ShouldReturnAllRecords()
        {
            var firstUserTrip  = ModelTestHelper.CreateUserTrip(1, "First");
            var secondUserTrip = ModelTestHelper.CreateUserTrip(2, "Second");
            var thirdUserTrip  = ModelTestHelper.CreateUserTrip(1, "Third");

            Assert.IsTrue(_importExport.Save(firstUserTrip));
            Assert.IsTrue(_importExport.Save(secondUserTrip));
            Assert.IsTrue(_importExport.Save(thirdUserTrip));
            var list = _importExport.GetAllEntities();

            Assert.AreEqual(3, list.Count());
            Assert.IsTrue(list.Any(u => u.TripName == "First"));
            Assert.IsTrue(list.Any(u => u.TripName == "Second"));
            Assert.IsTrue(list.Any((u => u.TripName == "Third")));
            Assert.IsTrue(list.Any(u => u.UserId == 1));
            Assert.IsTrue(list.Any(u => u.UserId == 2));
        }
Esempio n. 15
0
        public void DeleteUser_WhenUnableToDeleteUserItself_ShouldLogError()
        {
            var errors = new List <string> {
                "unable to delete user"
            };
            var user = ModelTestHelper.CreateUser(1, "first");

            user.AddFriend(ModelTestHelper.CreateFriendship(user.Id, "aFriend"));
            user.AddTrip(ModelTestHelper.CreateUserTrip(user.Id, "First Trip"));

            _mockUserRepo.Setup(s => s.GetUserInfo("aFriend")).Returns(() => ModelTestHelper.CreateUser(2, "aFriend"));
            _mockUserRepo.SetupGet(s => s.HasErrors).Returns(false);
            _mockUserRepo.SetupGet(g => g.Errors).Returns(errors);
            _mockUserRepo.Setup(s => s.DeleteUser(user)).Callback(() => _mockUserRepo.SetupGet(s => s.HasErrors).Returns(true));

            _mockFriendshipRepo.SetupGet(s => s.HasErrors).Returns(false);
            var otherFriendship = ModelTestHelper.CreateFriendship(2, user.Pseudo);

            _mockFriendshipRepo.Setup(s => s.GetFriendship(2, user.Pseudo)).Returns(() => otherFriendship);
            _mockFriendshipRepo.SetupGet(s => s.Errors).Returns(new List <string>());
            _mockFriendshipRepo.Setup(s => s.DeleteFriendship(user.Friends.First())).Callback
            (
                () => _mockFriendshipRepo.Setup(s => s.HasErrors).Returns(false)
            );

            _mockFriendshipRepo.Setup(s => s.DeleteFriendship(otherFriendship)).Callback
            (
                () => _mockFriendshipRepo.Setup(s => s.HasErrors).Returns(false)
            );


            _mockTripRepo.Setup(s => s.DeleteUserTrip(user.Trips.First())).Callback
            (
                () => _mockTripRepo.SetupGet(s => s.HasErrors).Returns(false)
            );
            _mockTripRepo.SetupGet(s => s.Errors).Returns(new List <string>());

            CreateUserServices();
            _userServices.DeleteUser(user);
            Assert.IsTrue(_userServices.HasErrors);
            Assert.IsTrue(_userServices.Errors.Contains("unable to delete user"));
        }
        public void Delete_WhenValid_ShouldCommit()
        {
            var userRepo       = new UserRepository();
            var friendshipRepo = new FriendshipRepository();
            var tripRepo       = new UserTripRepository();

            var user = ModelTestHelper.CreateUser(1, "DeleteUser");

            userRepo.SaveUser(user);
            Assert.IsFalse(userRepo.HasErrors);
            var secondUser = ModelTestHelper.CreateUser(2, "AFriend", "AFriendMail");

            userRepo.SaveUser(secondUser);
            Assert.IsFalse(userRepo.HasErrors);

            var friendship      = ModelTestHelper.CreateFriendship(user.Id, secondUser.Pseudo);
            var otherFriendship = ModelTestHelper.CreateFriendship(secondUser.Id, user.Pseudo);

            friendshipRepo.SaveFriendship(friendship);
            friendshipRepo.SaveFriendship(otherFriendship);
            Assert.IsFalse(friendshipRepo.HasErrors);
            user.AddFriend(friendship);
            secondUser.AddFriend(otherFriendship);

            var trip = ModelTestHelper.CreateUserTrip(user.Id, "ATrip");

            tripRepo.SaveUserTrip(trip);
            Assert.IsFalse(tripRepo.HasErrors);
            user.AddTrip(trip);

            var service = new UserServices();

            service.DeleteUser(user);
            Assert.IsNull(service.GetUserInfo(user.Pseudo));
            Assert.AreEqual(0, service.GetUserTrips(user.Id).Count());
            Assert.AreEqual(0, service.GetUserFriendships(user.Id).Count());
            Assert.AreEqual(0, service.GetUserFriendships(secondUser.Id).Count(f => f.FriendName == user.Pseudo));
        }
Esempio n. 17
0
 public override UserTrip CreateModel()
 {
     return(ModelTestHelper.CreateUserTrip(1, "TripForTest"));
 }
Esempio n. 18
0
        public void Clone_ShouldDuplicateValues()
        {
            var userTrip = ModelTestHelper.CreateUserTrip(1, "ForClone", false, true, 3.2, 600.75);

            TestClone(userTrip);
        }
Esempio n. 19
0
        public override UserTrip CreateSubModelWithId(int id, int secondId)
        {
            var tripName = secondId.ToString() + "TripName";

            return(ModelTestHelper.CreateUserTrip(id, tripName));
        }
 protected override UserTrip CreateModel()
 {
     return(ModelTestHelper.CreateUserTrip(1, "ATrip"));
 }