public async void RemoveColidEntrySubscription_ThrowsException_IfSearchFilterNotExists() { var userId = Guid.NewGuid(); var dto = new ColidEntrySubscriptionBuilder().WithColidEntry("http://non.existing.uri/whats#up").BuildDto(); var colidEntrySubscription = _mockColidEntrySubscriptionService.Setup(x => x.GetOne(userId, dto)).Throws(new EntityNotFoundException()); await Assert.ThrowsAsync <EntityNotFoundException>(() => _userService.RemoveColidEntrySubscriptionAsync(userId, dto)); }
public async void AddColidEntrySubscriptionAsync_Should_InvokeUserRepositoryUpdate_Once() { var ceDto = new ColidEntrySubscriptionBuilder().WithColidEntry(new Uri("http://meh.com/specialmeh")).BuildDto(); await _userService.AddColidEntrySubscriptionAsync(_user.Id, ceDto); _mockUserRepository.Verify(x => x.GetOneAsync(_user.Id, It.IsAny <bool>()), Times.Once); _mockUserRepository.Verify(x => x.Update(It.IsAny <User>()), Times.Once); }
public async void AddColidEntrySubscriptionAsync_ThrowsException_IfUserIsAlreadySubscribed() { var ceDto = new ColidEntrySubscriptionBuilder().WithColidEntry(new Uri("http://meh.com/specialmeh")).BuildDto(); await _userService.AddColidEntrySubscriptionAsync(_user.Id, ceDto); await Assert.ThrowsAsync <EntityAlreadyExistsException>(() => _userService.AddColidEntrySubscriptionAsync(_user.Id, ceDto)); _mockUserRepository.Verify(x => x.GetOneAsync(_user.Id, It.IsAny <bool>()), Times.Exactly(2)); _mockUserRepository.Verify(x => x.Update(It.IsAny <User>()), Times.Once); }
public async void RemoveColidEntrySubscription_Should_InvokeColidEntrySubscriptionService_Once() { var colidPidUri = "http://hello.com/how_are_you#123"; var ceBuilder = new ColidEntrySubscriptionBuilder().WithColidEntry(colidPidUri); var ceList = new List <ColidEntrySubscription>() { ceBuilder.WithId(99).Build() }; var userId = Guid.NewGuid(); var user = new UserBuilder().WithId(userId).WithEmailAddress("*****@*****.**").WithColidEntrySubscriptions(ceList).Build(); _mockUserRepository.Setup(x => x.GetOneAsync(userId, It.IsAny <bool>())).ReturnsAsync(user); await _userService.RemoveColidEntrySubscriptionAsync(userId, ceBuilder.BuildDto()); _mockColidEntrySubscriptionService.Verify(x => x.GetOne(It.IsAny <Guid>(), It.IsAny <ColidEntrySubscriptionDto>()), Times.Once); _mockColidEntrySubscriptionService.Verify(x => x.Delete(It.IsAny <ColidEntrySubscription>()), Times.Once); _mockUserRepository.Verify(x => x.GetOneAsync(userId, It.IsAny <bool>()), Times.Once); }
public ColidEntrySubscriptionServiceTests() { _mockSubscriptionRepository = new Mock <IColidEntrySubscriptionRepository>(); _mockLogger = new Mock <ILogger <ColidEntrySubscriptionService> >(); _subscriptionService = new ColidEntrySubscriptionService(_mockSubscriptionRepository.Object, _mockLogger.Object); // Init testdata _userId = Guid.NewGuid(); var builder = new ColidEntrySubscriptionBuilder().WithColidEntry(new Uri($"https://pid.bayer.com/kos19050#{Guid.NewGuid()}")); _colidEntrySubscription = builder.Build(); _colidEntrySubscriptionDto = builder.BuildDto(); // Init mock behaviour _mockSubscriptionRepository.Setup(x => x.GetOne(It.IsAny <Guid>(), It.IsAny <Uri>())) .Returns(_colidEntrySubscription); IList <User> subscribedUsers; _mockSubscriptionRepository.Setup(x => x.TryGetAllUsers(It.IsAny <Uri>(), out subscribedUsers)); }