public async Task SetStatus_UserIsNotCreator_ThrowsInsufficientRightsException() { var loggedInUserId = _emptyUserId; var tpRepo = _mockRepo.Create <ITravelPlanRepository>(); var userRepo = _mockRepo.Create <IUserRepository>(); var userTPService = _mockRepo.Create <IUserTravelPlanService>(); var tpStatusService = _mockRepo.Create <ITravelPlanStatusService>(); int status = (int)TravelPlanStatusEnum.Archived; var tpToEdit = new Models.TravelPlan() { CreatedById = Guid.NewGuid() }; //arrange tpRepo.Setup((tpr) => tpr.GetAsync(It.IsAny <Guid>(), false)).ReturnsAsync(tpToEdit); //act using (var context = new AppDbContext(_dbOptions)) { var tpService = new TravelPlanService(tpRepo.Object, userRepo.Object, userTPService.Object, tpStatusService.Object, context); var result = await tpService.SetStatusAsync(loggedInUserId, _emptyUserId, status); } }
public async Task RemoveTraveler_UserTravelPlanNotExists_ReturnsTrue() { var loggedInUserId = _emptyUserId; var userName = "******"; var tpRepo = _mockRepo.Create <ITravelPlanRepository>(); var userRepo = _mockRepo.Create <IUserRepository>(); var userTPService = _mockRepo.Create <IUserTravelPlanService>(); var tpStatusService = _mockRepo.Create <ITravelPlanStatusService>(); Models.TravelPlan travelPlan = new Models.TravelPlan(); travelPlan.UserTravelPlans = null; DTOs.UserDto user = new DTOs.UserDto(); //arrange tpRepo.Setup((tpr) => tpr.GetAsync(_emptyTPId, true)).ReturnsAsync(travelPlan); userRepo.Setup((ur) => ur.GetUserAsync(userName)).ReturnsAsync(user); //act using (var context = new AppDbContext(_dbOptions)) { var tpService = new TravelPlanService(tpRepo.Object, userRepo.Object, userTPService.Object, tpStatusService.Object, context); var result = await tpService.RemoveTraveler(loggedInUserId, userName, _emptyTPId); Assert.IsTrue(result); } }
public void SetUp() { _graphBuilderMock = new Mock <IGraphBuilder>(); _pathProviderMock = new Mock <IPathProvider>(); var logger = new Logger <TravelPlanService>(new LoggerFactory()); _mapper = new Mock <IMapper>(); _travelPlanService = new TravelPlanService(_graphBuilderMock.Object, _pathProviderMock.Object, logger, _mapper.Object); }
public async Task SetStatus_InvalidStatus_ThrowsException() { var loggedInUserId = _emptyUserId; var tpRepo = _mockRepo.Create <ITravelPlanRepository>(); var userRepo = _mockRepo.Create <IUserRepository>(); var userTPService = _mockRepo.Create <IUserTravelPlanService>(); var tpStatusService = _mockRepo.Create <ITravelPlanStatusService>(); int invalidStatus = 123; //act using (var context = new AppDbContext(_dbOptions)) { var tpService = new TravelPlanService(tpRepo.Object, userRepo.Object, userTPService.Object, tpStatusService.Object, context); var result = await tpService.SetStatusAsync(loggedInUserId, _emptyUserId, invalidStatus); } }
public async Task RemoveTraveler_HostRemoveThemslves_ThrowsException() { var loggedInUserId = _emptyUserId; var userName = "******"; var tpRepo = _mockRepo.Create <ITravelPlanRepository>(); var userRepo = _mockRepo.Create <IUserRepository>(); var userTPService = _mockRepo.Create <IUserTravelPlanService>(); var tpStatusService = _mockRepo.Create <ITravelPlanStatusService>(); Models.TravelPlan travelPlan = new Models.TravelPlan(); travelPlan.CreatedById = _emptyUserId; //user to remove is the host var userTPToRemove = new Models.UserTravelPlan { UserId = _emptyUserId }; travelPlan.UserTravelPlans = new List <Models.UserTravelPlan> { userTPToRemove }; DTOs.UserDto user = new DTOs.UserDto(); user.Id = _emptyUserId.ToString(); //arrange tpRepo.Setup((tpr) => tpr.GetAsync(_emptyTPId, true)).ReturnsAsync(travelPlan); userRepo.Setup((ur) => ur.GetUserAsync(userName)).ReturnsAsync(user); userTPService.Setup(utp => utp.Delete(It.IsAny <Models.UserTravelPlan>())).ReturnsAsync(true); //act using (var context = new AppDbContext(_dbOptions)) { var tpService = new TravelPlanService(tpRepo.Object, userRepo.Object, userTPService.Object, tpStatusService.Object, context); var result = await tpService.RemoveTraveler(loggedInUserId, userName, _emptyTPId); } }
public async Task RemoveTraveler_InvalidTravelPlan_ThrowsException() { var loggedInUserId = _emptyUserId; var tpRepo = _mockRepo.Create <ITravelPlanRepository>(); var userRepo = _mockRepo.Create <IUserRepository>(); var userTPService = _mockRepo.Create <IUserTravelPlanService>(); var tpStatusService = _mockRepo.Create <ITravelPlanStatusService>(); Models.TravelPlan nullTP = null; //arrange tpRepo.Setup((tpr) => tpr.GetAsync(_emptyTPId, true)).ReturnsAsync(nullTP); //act using (var context = new AppDbContext(_dbOptions)) { var tpService = new TravelPlanService(tpRepo.Object, userRepo.Object, userTPService.Object, tpStatusService.Object, context); var result = await tpService.RemoveTraveler(loggedInUserId, "someUsername", _emptyTPId); } }