Exemple #1
0
        public void CreateTrip_WhenValid_ShouldCommit()
        {
            var trip         = ModelTestHelper.CreateTrip(-1, "createTripCommit", organizer: "aUser");
            var userTripRepo = new UserTripRepository();
            var services     = new TripServices();

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

            Assert.IsNotNull(dbTrip);
            Assert.IsNotNull(dbTrip.TripPot);
            var pot = dbTrip.TripPot;

            Assert.AreEqual(trip.Price, pot.TargetAmount);
            Assert.AreEqual(1, dbTrip.Participants.Count());
            var ptp = dbTrip.Participants.First();

            Assert.AreEqual(dbTrip.Id, ptp.TripId);
            Assert.AreEqual(1, pot.Participants.Count());
            var potUser = pot.Participants.First();

            Assert.AreEqual(pot.Id, potUser.PotId);
            var userTrips = userTripRepo.GetUserTripsByTrip(trip.TripName);

            Assert.IsFalse(userTripRepo.HasErrors);
            Assert.AreEqual(1, userTrips.Count());
            var userTrip = userTrips.First();

            Assert.AreEqual(trip.TripName, userTrip.TripName);
        }
Exemple #2
0
        public void DeleteTrip_WhenValid_ShouldCommit()
        {
            var trip     = ModelTestHelper.CreateTrip(-1, "deleteTripCommit");
            var services = new TripServices();

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

            Assert.IsNotNull(reloadedTrip);
            var pot = reloadedTrip.TripPot;

            Assert.IsNotNull(pot);
            var participants = reloadedTrip.Participants;

            Assert.AreEqual(1, participants.Count());
            var potUsers = pot.Participants;

            Assert.AreEqual(1, potUsers.Count());
            var tripRepo            = new TripRepository();
            var potRepo             = new PotRepository();
            var userTripRepo        = new UserTripRepository();
            var potUserRepo         = new PotUserRepository();
            var tripParticipantRepo = new TripParticipantRepository();

            services.DeleteTrip(reloadedTrip);
            Assert.IsFalse(services.HasErrors);
            Assert.IsNull(tripRepo.GetTrip(reloadedTrip.Id));
            Assert.IsNull(potRepo.GetPot(pot.Id));
            Assert.AreEqual(0, userTripRepo.GetUserTripsByTrip(reloadedTrip.TripName).Count());
            Assert.AreEqual(0, potUserRepo.GetPotUsers(pot.Id).Count());
            Assert.AreEqual(0, tripParticipantRepo.GetTripParticipants(reloadedTrip.Id).Count());
        }