Пример #1
0
        public void TestEqualsExpectedFalseNull()
        {
            this.bookingStage.Id = 1;
            BookingStage test = null;

            Assert.IsFalse(bookingStage.Equals(test));
        }
Пример #2
0
        public BookingStage GetCurrentStatusByBooking(int bookingId)
        {
            var          bookingStages = this.bookingStageRepository.GetByBooking(bookingId);
            BookingStage bookingStage  = GetCurrentStatus(bookingStages);

            return(bookingStage);
        }
Пример #3
0
        public void CreateStage()
        {
            BookingStage bookingStage = new BookingStage
            {
                Description        = "a",
                Status             = Status.Accepted,
                AsociatedBookingId = 1,
                AdministratorId    = 1
            };
            BookingStageModelIn bookingStageModel = new BookingStageModelIn
            {
                Description = bookingStage.Description,
                Status      = bookingStage.Status.ToString(),
                BookingId   = bookingStage.AsociatedBookingId,
                AdminId     = bookingStage.AdministratorId
            };
            var mockBookingStage = new Mock <IBookingStageLogic>(MockBehavior.Strict);

            mockBookingStage.Setup(p => p.AddBookingStage(It.IsAny <BookingStage>())).Returns(bookingStage);
            var controller = new BookingStageController(mockBookingStage.Object);

            var result = controller.NewStage(bookingStageModel) as OkObjectResult;

            mockBookingStage.VerifyAll();
            Assert.AreEqual(200, result.StatusCode);
        }
        public void DeleteBookingStageTest()
        {
            BookingStage bookingStage = new BookingStage()
            {
                Id            = 1,
                Description   = "The booking was rejected due to payment issues, please contact your bank",
                Administrator = new Administrator()
                {
                    Email = "*****@*****.**"
                },
                AdministratorId    = 0,
                AsociatedBooking   = null,
                AsociatedBookingId = 2,
                EntryDate          = DateTime.Now,
                Status             = new Status(),
            };

            _context.Add(bookingStage);
            _context.SaveChanges();
            var repository = new BookingStageRepository(_context);

            repository.Delete(bookingStage);

            Assert.IsNull(_context.Find <BookingStage>(1));
        }
        public void TestGetByIdBookingStage()
        {
            BookingStage testBookingStage = new BookingStage()
            {
                Id            = 1,
                Description   = "The booking was rejected due to payment issues, please contact your bank",
                Administrator = new Administrator()
                {
                    Email = "*****@*****.**"
                },
                AdministratorId    = 0,
                AsociatedBooking   = new Booking(),
                AsociatedBookingId = 1,
                EntryDate          = DateTime.Now,
                Status             = new Status(),
            };

            _context.Add(testBookingStage);
            _context.SaveChanges();
            var repository = new BookingStageRepository(_context);

            var result = repository.GetById(1);

            Assert.AreEqual(testBookingStage, result);
        }
Пример #6
0
        public void AddBookingStageException3Test()
        {
            Booking booking = new Booking
            {
                Id = 7
            };
            BookingStage bookingStage = new BookingStage
            {
                Id = 5,
                AsociatedBookingId = 5
            };
            Administrator administrator = new Administrator()
            {
                Email    = "*****@*****.**",
                Password = "******",
                Id       = 4,
            };

            bookingStage.AdministratorId = 4;
            var mockBookingStage = new Mock <IBookingStageRepository>(MockBehavior.Strict);

            mockBookingStage.Setup(p => p.AddAndSave(It.IsAny <BookingStage>())).Returns(bookingStage);
            var mockBooking = new Mock <IBookingRepository>(MockBehavior.Strict);

            mockBooking.Setup(u => u.GetById(It.IsAny <int>())).Returns(booking);
            var mockAdministrator = new Mock <IAdministratorRepository>(MockBehavior.Strict);

            mockAdministrator.Setup(u => u.GetById(It.IsAny <int>())).Returns <Administrator>(null);
            var logic = new BookingStageLogic(mockBookingStage.Object, mockBooking.Object, mockAdministrator.Object);

            var result = logic.AddBookingStage(bookingStage);
        }
Пример #7
0
        public Booking AddBooking(Booking booking)
        {
            CheckBookingGuests(booking);
            CheckBookingAccommodation(booking);
            var accommodation = this.accommodationRepository.GetById(booking.AccommodationId);
            var tourist       = this.touristRepository.GetByEmail(booking.HeadGuest.Email);

            if (tourist != null)
            {
                booking.HeadGuest = tourist;
            }
            double totalprice = CalculateTotalPrice(booking);

            booking.TotalPrice     = totalprice * accommodation.PricePerNight;
            booking.BookingHistory = new List <BookingStage>();
            BookingStage bookingStage = new BookingStage()
            {
                AdministratorId = 1,
                Status          = Status.Received,
                Description     = "Received"
            };

            booking.BookingHistory.Add(bookingStage);
            var newBooking = this.bookingRepository.AddAndSave(booking);

            return(newBooking);
        }
Пример #8
0
        public void TestEqualsExpectedTrue()
        {
            this.bookingStage.Id = 1;
            BookingStage test = new BookingStage
            {
                Id = 1
            };

            Assert.IsTrue(bookingStage.Equals(test));
        }
Пример #9
0
        public void TestEqualsExpectedFalse2()
        {
            this.bookingStage.Id = 1;
            BookingStage test = new BookingStage
            {
                Id = 2
            };

            Assert.IsFalse(bookingStage.Equals(test));
        }
Пример #10
0
        public BookingStage AddBookingStage(BookingStage stage)
        {
            CheckBookingStageAsociatedBookingId(stage.AsociatedBookingId);
            var booking = this.bookingRepository.GetById(stage.AsociatedBookingId);

            CheckBookingStageAsociatedBooking(booking);
            var administrator = this.administratorRepository.GetById(stage.AdministratorId);

            CheckBookingStageAdministrator(administrator);
            return(this.bookingStageRepository.AddAndSave(stage));
        }
Пример #11
0
        public void AddBookingsTest()
        {
            List <Guest> guests = new List <Guest>();
            Guest        guest  = new Guest()
            {
                Amount     = 2,
                Multiplier = 0.5
            };

            guests.Add(guest);
            Booking booking = new Booking()
            {
                Id              = 9,
                Guests          = guests,
                AccommodationId = 3,
                BookingHistory  = new List <BookingStage>()
            };
            Tourist tourist = new Tourist()
            {
                Email = "*****@*****.**",
                Id    = 4
            };

            booking.HeadGuest = tourist;
            Accommodation accommodation = new Accommodation()
            {
                Id   = 7,
                Name = "a"
            };
            BookingStage bookingStage = new BookingStage()
            {
                AdministratorId = 1,
                Status          = Status.Received
            };

            booking.BookingHistory.Add(bookingStage);
            var mockBooking = new Mock <IBookingRepository>(MockBehavior.Strict);

            mockBooking.Setup(p => p.AddAndSave(It.IsAny <Booking>())).Returns(booking);
            var mockTourist = new Mock <ITouristRepository>(MockBehavior.Strict);

            mockTourist.Setup(p => p.GetByEmail(It.IsAny <string>())).Returns(tourist);
            var mockAccommodation = new Mock <IAccommodationRepository>(MockBehavior.Strict);

            mockAccommodation.Setup(p => p.GetById(It.IsAny <int>())).Returns(accommodation);
            var mockTouristicSpot = new Mock <ITouristicSpotRepository>(MockBehavior.Strict);
            var logic             = new BookingLogic(mockBooking.Object, mockAccommodation.Object, mockTourist.Object, mockTouristicSpot.Object);

            var result = logic.AddBooking(booking);

            mockBooking.VerifyAll();
            Assert.IsTrue(result.Equals(booking));
        }
        public BookingStage FromModelInToBookingStage()
        {
            BookingStage bookingStage = new BookingStage()
            {
                AsociatedBookingId = this.BookingId,
                Description        = this.Description,
                Status             = StatusMethods.StringToStatus(this.Status),
                AdministratorId    = this.AdminId
            };

            return(bookingStage);
        }
        public void TestAddBookingStage()
        {
            BookingStage bookingStage = new BookingStage()
            {
                Id                 = 3,
                Description        = "Tayment",
                Administrator      = null,
                AdministratorId    = 0,
                AsociatedBooking   = null,
                AsociatedBookingId = 0,
                EntryDate          = DateTime.Now,
                Status             = new Status(),
            };
            var repository = new BookingStageRepository(_context);

            repository.AddAndSave(bookingStage);

            Assert.AreEqual(_context.Find <BookingStage>(3), bookingStage);
        }
Пример #14
0
        public void GetCurrentStatusByBookingTest()
        {
            Booking booking = new Booking
            {
                Id = 7
            };
            BookingStage bookingStage = new BookingStage
            {
                Id = 5,
                AsociatedBookingId = 7
            };
            List <BookingStage> bookingStages = new List <BookingStage>
            {
                bookingStage
            };
            Administrator administrator = new Administrator()
            {
                Email    = "*****@*****.**",
                Password = "******",
                Id       = 4,
            };

            bookingStage.AdministratorId = 4;
            var mockBookingStage = new Mock <IBookingStageRepository>(MockBehavior.Strict);

            mockBookingStage.Setup(p => p.GetByBooking(It.IsAny <int>())).Returns(bookingStages);
            var mockBooking       = new Mock <IBookingRepository>(MockBehavior.Strict);
            var mockAdministrator = new Mock <IAdministratorRepository>(MockBehavior.Strict);

            mockAdministrator.Setup(u => u.GetById(It.IsAny <int>())).Returns(administrator);
            var logic = new BookingStageLogic(mockBookingStage.Object, mockBooking.Object, mockAdministrator.Object);

            var result = logic.GetCurrentStatusByBooking(7);

            mockBookingStage.VerifyAll();
            mockBooking.VerifyAll();
            mockAdministrator.Verify();
            Assert.IsTrue(result.Equals(bookingStage));
        }
Пример #15
0
        public void TestGetBookingStatus()
        {
            BookingStage bookingStage = new BookingStage
            {
                Description = "a",
                Status      = Status.Accepted
            };
            BookingStageModelOut        bookingStageModel        = new BookingStageModelOut(bookingStage);
            List <BookingStageModelOut> listBookingStageModelOut = new List <BookingStageModelOut>
            {
                bookingStageModel
            };
            var mockBookingStage = new Mock <IBookingStageLogic>(MockBehavior.Strict);

            mockBookingStage.Setup(p => p.GetCurrentStatusByBooking(It.IsAny <int>())).Returns(bookingStage);
            var controller = new BookingStageController(mockBookingStage.Object);

            var result = controller.GetBookingStatus(1) as OkObjectResult;

            mockBookingStage.VerifyAll();
            Assert.AreEqual(200, result.StatusCode);
        }
 public BookingStageModelOut(BookingStage b)
 {
     Description = b.Description;
     Status      = b.Status.ToString();
 }
 public BookingStage Delete(BookingStage obj)
 {
     this.bookingStages.Remove(obj);
     this.bookUYContext.SaveChanges();
     return(obj);
 }
 public BookingStage AddAndSave(BookingStage bookingStage)
 {
     this.bookingStages.Add(bookingStage);
     bookUYContext.SaveChanges();
     return(bookingStage);
 }
        public void TestGetReport()
        {
            Booking testBooking = new Booking()
            {
                Id            = 1,
                Accommodation = new Accommodation()
                {
                    Name   = "a",
                    SpotId = 1
                },
                AccommodationId = 1,
                BookingHistory  = new List <BookingStage>(),
                CheckIn         = new DateTime(2020, 12, 14),
                CheckOut        = new DateTime(2020, 12, 15),
                GuestId         = 2,
                Guests          = new List <Guest>(),
                HeadGuest       = new Tourist()
                {
                    Email = "*****@*****.**"
                },
                TotalPrice = 35
            };
            BookingStage bookingStageForBooking1 = new BookingStage()
            {
                AdministratorId    = 1,
                AsociatedBookingId = 1,
                Description        = "A",
                EntryDate          = new DateTime(2020, 12, 22),
                Status             = Status.Received,
            };

            testBooking.BookingHistory.Add(bookingStageForBooking1);
            Booking booking = new Booking()
            {
                Id            = 2,
                Accommodation = new Accommodation()
                {
                    Name   = "b",
                    SpotId = 1
                },
                AccommodationId = 1,
                BookingHistory  = new List <BookingStage>(),
                CheckIn         = new DateTime(2020, 12, 14),
                CheckOut        = new DateTime(2020, 12, 15),
                GuestId         = 6,
                Guests          = new List <Guest>(),
                HeadGuest       = new Tourist()
                {
                    Email = "*****@*****.**"
                },
                TotalPrice = 142
            };
            BookingStage bookingStageForBooking2 = new BookingStage()
            {
                AdministratorId    = 1,
                AsociatedBookingId = 2,
                Description        = "A",
                EntryDate          = new DateTime(2020, 12, 22),
                Status             = Status.Received,
            };

            booking.BookingHistory.Add(bookingStageForBooking2);
            List <Booking> bookingsList = new List <Booking>
            {
                testBooking,
                booking
            };
            List <ReportTuple> expected = new List <ReportTuple>()
            {
                new ReportTuple()
                {
                    Id    = 1,
                    Count = 1
                },
                new ReportTuple()
                {
                    Id    = 2,
                    Count = 1
                }
            };

            bookingsList.ForEach(r => _context.Add(r));
            _context.SaveChanges();
            var      repository = new BookingRepository(_context);
            DateTime start      = new DateTime(2020, 12, 12);
            DateTime end        = new DateTime(2020, 12, 24);

            var result = repository.GetReport(1, start, end);

            Assert.IsTrue(expected.SequenceEqual(result));
        }
        public void TestGetBookingStageByBookingNull()
        {
            BookingStage bookingStage1 = new BookingStage()
            {
                Id            = 1,
                Description   = "The booking was added correctly, awaiting payment",
                Administrator = new Administrator()
                {
                    Email = "*****@*****.**"
                },
                AdministratorId    = 0,
                AsociatedBooking   = null,
                AsociatedBookingId = 1,
                EntryDate          = DateTime.Now,
                Status             = new Status(),
            };
            BookingStage bookingStage3 = new BookingStage()
            {
                Id            = 3,
                Description   = "Theaiting payment",
                Administrator = new Administrator()
                {
                    Email = "*****@*****.**"
                },
                AdministratorId    = 0,
                AsociatedBooking   = null,
                AsociatedBookingId = 1,
                EntryDate          = DateTime.Now,
                Status             = new Status(),
            };
            List <BookingStage> bookingStages = new List <BookingStage>()
            {
                bookingStage1,
                bookingStage3,
                new BookingStage()
                {
                    Id            = 2,
                    Description   = "The booking was rejected due to payment issues, please contact your bank",
                    Administrator = new Administrator()
                    {
                        Email = "*****@*****.**"
                    },
                    AdministratorId    = 0,
                    AsociatedBooking   = null,
                    AsociatedBookingId = 2,
                    EntryDate          = DateTime.Now,
                    Status             = new Status(),
                },
            };
            List <BookingStage> listToReturn = new List <BookingStage>
            {
                bookingStage1,
                bookingStage3
            };

            bookingStages.ForEach(r => _context.Add(r));
            _context.SaveChanges();
            var repository = new BookingStageRepository(_context);

            var result = repository.GetByBooking(3);

            Assert.IsTrue(result.Count() == 0);
        }
Пример #21
0
 public void StartUp()
 {
     bookingStage = new BookingStage();
 }
Пример #22
0
 public void CleanUp()
 {
     bookingStage = new BookingStage();
 }