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()); }
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()); }
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()); }
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)); }
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); }
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); }
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); }
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)); }
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)); }
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)); }
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)); }
public override UserTrip CreateModel() { return(ModelTestHelper.CreateUserTrip(1, "TripForTest")); }
public void Clone_ShouldDuplicateValues() { var userTrip = ModelTestHelper.CreateUserTrip(1, "ForClone", false, true, 3.2, 600.75); TestClone(userTrip); }
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")); }