Ejemplo n.º 1
0
        public void InitiateNewSeatServiceInstanceWhenProperDependncyIsPassed()
        {
            var mockedFilmScreeningRepo = new Mock <IRepository <FilmScreening> >();

            var actualSeatService =
                new Cinema.Data.Services.SeatService(mockedFilmScreeningRepo.Object);

            Assert.IsInstanceOf(typeof(ISeatService), actualSeatService);
            Assert.IsInstanceOf(typeof(Cinema.Data.Services.SeatService), actualSeatService);
        }
Ejemplo n.º 2
0
        public void ReturnEmptyStringIfParametersDoesNotMatchAnyData()
        {
            var mockedFilmScreeningRepo = new Mock <IRepository <FilmScreening> >();
            var mockedScreening         = new Mock <FilmScreening>();
            var mockedUser      = new Mock <User>();
            var mockedUser2     = new Mock <User>();
            var mockedSeatsList = new List <Seat>();
            var mockedSeat1     = new Mock <Seat>();
            var mockedSeat2     = new Mock <Seat>();
            var mockedSeat3     = new Mock <Seat>();

            string screeningId         = "3";
            string userName            = "******";
            string userName2           = "Adam";
            string notExistingUserName = "******";

            // targeted notExistingUserName ("Hanry") does not have any bookings
            string expectedOutput = string.Empty;

            mockedUser.Setup(x => x.UserName).Returns(userName);
            mockedUser2.Setup(x => x.UserName).Returns(userName2);
            mockedSeat1.Setup(x => x.User).Returns(mockedUser.Object);
            mockedSeat2.Setup(x => x.User).Returns(mockedUser.Object);
            mockedSeat3.Setup(x => x.User).Returns(mockedUser2.Object);
            mockedSeatsList.Add(mockedSeat1.Object);
            mockedSeatsList.Add(mockedSeat2.Object);
            mockedSeatsList.Add(mockedSeat3.Object);
            mockedScreening.Setup(x => x.Seats).Returns(mockedSeatsList);
            mockedFilmScreeningRepo.Setup(x => x.GetById(int.Parse(screeningId))).Returns(mockedScreening.Object);

            var actualSeatService =
                new Cinema.Data.Services.SeatService(mockedFilmScreeningRepo.Object);

            var actualOutput =
                actualSeatService.GetBookedSeatsAsString(notExistingUserName, screeningId);

            Assert.AreEqual(expectedOutput, actualOutput);
        }
Ejemplo n.º 3
0
        public void ReturnZeroMatchesIfPassedUserNameDoesNotHaveAnyBookingsForThisScreening()
        {
            var mockedFilmScreeningRepo = new Mock <IRepository <FilmScreening> >();
            var mockedScreening         = new Mock <FilmScreening>();
            var mockedUser      = new Mock <User>();
            var mockedUser2     = new Mock <User>();
            var mockedSeatsList = new List <Seat>();
            var mockedSeat      = new Mock <Seat>();
            var mockedSeat2     = new Mock <Seat>();
            var mockedSeat3     = new Mock <Seat>();

            string screeningId     = "3";
            string userName        = "******";
            string userName2       = "Adam";
            string passiveUserName = "******";

            // passiveUserName(George) doe not have any bookings
            int expectedSeatsCount = 0;

            mockedUser.Setup(x => x.UserName).Returns(userName);
            mockedUser2.Setup(x => x.UserName).Returns(userName2);
            mockedSeat.Setup(x => x.User).Returns(mockedUser.Object);
            mockedSeat2.Setup(x => x.User).Returns(mockedUser.Object);
            mockedSeat3.Setup(x => x.User).Returns(mockedUser2.Object);
            mockedSeatsList.Add(mockedSeat.Object);
            mockedSeatsList.Add(mockedSeat2.Object);
            mockedSeatsList.Add(mockedSeat3.Object);
            mockedScreening.Setup(x => x.Seats).Returns(mockedSeatsList);
            mockedFilmScreeningRepo.Setup(x => x.GetById(int.Parse(screeningId))).Returns(mockedScreening.Object);

            var actualSeatService =
                new Cinema.Data.Services.SeatService(mockedFilmScreeningRepo.Object);

            var actualSeatsCount =
                actualSeatService.GetUserBookedSeatsCountByScreeningId(passiveUserName, screeningId);

            Assert.AreEqual(expectedSeatsCount, actualSeatsCount);
        }
Ejemplo n.º 4
0
        public void ReturnCorrectPriceForPassedParameters()
        {
            var mockedFilmScreeningRepo = new Mock <IRepository <FilmScreening> >();
            var mockedScreening         = new FilmScreening();
            var mockedUser      = new Mock <User>();
            var mockedUser2     = new Mock <User>();
            var mockedSeatsList = new List <Seat>();
            var mockedSeat1     = new Mock <Seat>();
            var mockedSeat2     = new Mock <Seat>();
            var mockedSeat3     = new Mock <Seat>();

            string  screeningId = "3";
            string  userName    = "******";
            string  userName2   = "Adam";
            decimal singlePrice = (decimal)8.50;

            // targeted UserName(John) has booked two seats, output should be Total Price: $40.00
            string expectedOutput = "Total Price: $17.00";

            mockedUser.Setup(x => x.UserName).Returns(userName);
            mockedUser2.Setup(x => x.UserName).Returns(userName2);
            mockedSeat1.Setup(x => x.User).Returns(mockedUser.Object);
            mockedSeatsList.Add(mockedSeat1.Object);
            mockedSeat2.Setup(x => x.User).Returns(mockedUser.Object);
            mockedSeatsList.Add(mockedSeat2.Object);
            mockedSeat3.Setup(x => x.User).Returns(mockedUser2.Object);
            mockedSeatsList.Add(mockedSeat3.Object);
            mockedScreening.Seats = mockedSeatsList;
            mockedScreening.Price = singlePrice;
            mockedFilmScreeningRepo.Setup(x => x.GetById(int.Parse(screeningId))).Returns(mockedScreening);

            var actualSeatService =
                new Cinema.Data.Services.SeatService(mockedFilmScreeningRepo.Object);

            var actualOutput = actualSeatService.GetPrice(userName, screeningId);

            Assert.AreEqual(expectedOutput, actualOutput);
        }
Ejemplo n.º 5
0
        public void ReturnStringWithSeatsNumbersBookedFromTargetedUserInTargetedFilmScreening()
        {
            var mockedFilmScreeningRepo = new Mock <IRepository <FilmScreening> >();
            var mockedScreening         = new Mock <FilmScreening>();
            var mockedUser      = new Mock <User>();
            var mockedUser2     = new Mock <User>();
            var mockedSeatsList = new List <Seat>();
            var mockedSeat1     = new Mock <Seat>();
            var mockedSeat2     = new Mock <Seat>();
            var mockedSeat3     = new Mock <Seat>();

            string screeningId = "3";
            string userName    = "******";
            string userName2   = "Adam";

            // targeted UserName(John) has booked Seat1 and Seat2, UserName(Adam) has booked Seat3
            string expectedOutput = "Seat1, Seat2";

            mockedUser.Setup(x => x.UserName).Returns(userName);
            mockedUser2.Setup(x => x.UserName).Returns(userName2);
            mockedSeat1.Setup(x => x.User).Returns(mockedUser.Object);
            mockedSeat2.Setup(x => x.User).Returns(mockedUser.Object);
            mockedSeat3.Setup(x => x.User).Returns(mockedUser2.Object);
            mockedSeatsList.Add(mockedSeat1.Object);
            mockedSeatsList.Add(mockedSeat2.Object);
            mockedSeatsList.Add(mockedSeat3.Object);
            mockedScreening.Setup(x => x.Seats).Returns(mockedSeatsList);
            mockedFilmScreeningRepo.Setup(x => x.GetById(int.Parse(screeningId))).Returns(mockedScreening.Object);

            var actualSeatService =
                new Cinema.Data.Services.SeatService(mockedFilmScreeningRepo.Object);

            var actualOutput =
                actualSeatService.GetBookedSeatsAsString(userName, screeningId);

            Assert.AreEqual(expectedOutput, actualOutput);
        }
Ejemplo n.º 6
0
        public void ReturnCorrectSeatsCountMatchingPassedUserNameAndFilmScreeningId()
        {
            var mockedFilmScreeningRepo = new Mock <IRepository <FilmScreening> >();
            var mockedScreening         = new Mock <FilmScreening>();
            var mockedUser      = new Mock <User>();
            var mockedUser2     = new Mock <User>();
            var mockedSeatsList = new List <Seat>();
            var mockedSeat      = new Mock <Seat>();
            var mockedSeat2     = new Mock <Seat>();
            var mockedSeat3     = new Mock <Seat>();

            string screeningId = "3";
            string userName    = "******";
            string userName2   = "Adam";

            //mockedUser(John) has two seats, mockedUser2(Adam) has one seat
            int expectedSeatsCount = 2;

            mockedUser.Setup(x => x.UserName).Returns(userName);
            mockedUser2.Setup(x => x.UserName).Returns(userName2);
            mockedSeat.Setup(x => x.User).Returns(mockedUser.Object);
            mockedSeat2.Setup(x => x.User).Returns(mockedUser.Object);
            mockedSeat3.Setup(x => x.User).Returns(mockedUser2.Object);
            mockedSeatsList.Add(mockedSeat.Object);
            mockedSeatsList.Add(mockedSeat2.Object);
            mockedSeatsList.Add(mockedSeat3.Object);
            mockedScreening.Setup(x => x.Seats).Returns(mockedSeatsList);
            mockedFilmScreeningRepo.Setup(x => x.GetById(int.Parse(screeningId))).Returns(mockedScreening.Object);

            var actualSeatService =
                new Cinema.Data.Services.SeatService(mockedFilmScreeningRepo.Object);

            var actualSeatsCount =
                actualSeatService.GetUserBookedSeatsCountByScreeningId(userName, screeningId);

            Assert.AreEqual(expectedSeatsCount, actualSeatsCount);
        }
Ejemplo n.º 7
0
        public void CallFilmScreeningRepoGetByIdWithSameId()
        {
            var mockedFilmScreeningRepo = new Mock <IRepository <FilmScreening> >();
            var mockedScreening         = new Mock <FilmScreening>();
            var mockedUser      = new Mock <User>();
            var mockedSeatsList = new List <Seat>();
            var mockedSeat      = new Mock <Seat>();

            string screeningId = "3";
            string userName    = "******";

            mockedSeat.Setup(x => x.User).Returns(mockedUser.Object);
            mockedSeatsList.Add(mockedSeat.Object);
            mockedScreening.Setup(x => x.Seats).Returns(mockedSeatsList);
            mockedFilmScreeningRepo.Setup(x => x.GetById(int.Parse(screeningId))).Returns(mockedScreening.Object);

            var actualSeatService =
                new Cinema.Data.Services.SeatService(mockedFilmScreeningRepo.Object);

            actualSeatService.GetBookedSeatsAsString(userName, screeningId);

            mockedFilmScreeningRepo.Verify(
                repo => repo.GetById(int.Parse(screeningId)), Times.Once);
        }