コード例 #1
0
        public void GetListBookingByStatus_UsingKeyword_SpecialistRole_ConfirmStatus()
        {
            // Setup dependence
            var settingsMock = new Mock<ISettings>();
            var repositoryMock = new Mock<IRepository>();
            var uowMock = new Mock<IUnitOfWork>();
            var serviceLocatorMock = new Mock<IServiceLocator>();
            serviceLocatorMock.Setup(x => x.GetInstance<IRepository>())
                .Returns(repositoryMock.Object);
            ServiceLocator.SetLocatorProvider(() => serviceLocatorMock.Object);

            // Arrange
            Role role = Role.Specialist;
            BookingStatus status = BookingStatus.Confirmed;
            string keyword = "Master";
            // Arrange user
            Guid specialistId = Guid.NewGuid();
            User specialist = new User
            {
                Id = specialistId
            };
            // Arrange specialList
            User customer = new User
            {
                Id = Guid.NewGuid(),
                FirstName = keyword
            };
            List<User> users = new List<User>();
            users.Add(customer);
            users.Add(specialist);

            repositoryMock.Setup(r => r.Query<User>())
                .Returns(users.AsQueryable());

            Guid bookingId = Guid.NewGuid();
            Booking booking = new Booking
            {
                Id = bookingId,
                Customer = customer,
                Specialist = specialist,
                EndTime = DateTime.Now.AddDays(1),
                Status = status
            };
            List<Booking> bookings = new List<Booking>();
            bookings.Add(booking);

            repositoryMock.Setup(r => r.Query<Booking>())
                .Returns(bookings.AsQueryable());

            // Act
            var bookingService = new BookingService(uowMock.Object, repositoryMock.Object, settingsMock.Object);
            var listBooking = bookingService.GetListBookingByStatus(
                specialistId, role, status, keyword);

            // Assert
            Assert.AreEqual(bookings.Count(), listBooking.Count());
        }
コード例 #2
0
        public void GetListBookingByStatus_SpecialistRole_BookingTypeStandard()
        {
            // Setup dependence
            var settingsMock = new Mock<ISettings>();
            var repositoryMock = new Mock<IRepository>();
            var uowMock = new Mock<IUnitOfWork>();
            var serviceLocatorMock = new Mock<IServiceLocator>();
            serviceLocatorMock.Setup(x => x.GetInstance<IRepository>())
                .Returns(repositoryMock.Object);
            ServiceLocator.SetLocatorProvider(() => serviceLocatorMock.Object);

            // Arrange
            Role role = Role.Specialist;
            BookingStatus status = BookingStatus.Requested;
            BookingType bookingType = BookingType.StandardHour;

            // Arrange user
            Guid customerId = Guid.NewGuid();
            User customer = new User
            {
                Id = customerId
            };
            List<User> users = new List<User>();
            users.Add(customer);
            repositoryMock.Setup(r => r.Query<User>())
                .Returns(users.AsQueryable());
            // Arrange booking
            Guid bookingId = Guid.NewGuid();
            Booking booking = new Booking
            {
                Id = bookingId,
                Specialist = customer,
                Type = bookingType,
                Status = status
            };
            List<Booking> bookings = new List<Booking>();
            bookings.Add(booking);
            repositoryMock.Setup(r => r.Query<Booking>())
                .Returns(bookings.AsQueryable());

            // Act
            var bookingService = new BookingService(uowMock.Object, repositoryMock.Object, settingsMock.Object);
            var listBooking = bookingService.GetListBookingByStatus(
                customerId, role, status);

            // Assert
            Assert.AreEqual(bookings.Count(), listBooking.Count());
        }