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()); }
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()); }