public async Task UpdateClubMember_ToNotExistingClubMembership_DatabaseUpdates() { var clubSubscription = new ClubSubscription() { ClubId = Guid.NewGuid(), ClubSubscriptionId = Guid.NewGuid() }; var clubMember = new ClubMember() { ClubId = clubSubscription.ClubId, UserId = Guid.NewGuid(), ClubSubscriptionId = clubSubscription.ClubSubscriptionId }; using (var context = _factory.CreateContext()) { await context.ClubSubscriptions.AddRangeAsync(clubSubscription); await context.ClubMembers.AddAsync(clubMember); await context.SaveChangesAsync(); } var request = new UpdateClubMemberRequest() { ClubId = clubSubscription.ClubId, ClubSubscriptionId = Guid.NewGuid(), UserId = clubMember.UserId }; Assert.ThrowsAsync <DbUpdateException>(async() => await _mutations.UpdateClubMemberAsync(request)); await _publish.Received(0).Publish(Arg.Any <ClubMemberUpdatedEvent>()); }
public async Task <ClubMember> UpdateClubMemberAsync(UpdateClubMemberRequest request) { var item = await _context.ClubMembers.SingleOrThrowAsync(ci => ci.UserId == request.UserId && ci.ClubId == request.ClubId); await IsAdminIn(item.ClubId); item.ClubSubscriptionId = request.ClubSubscriptionId; _context.ClubMembers.Update(item); var @event = _mapper.Map <ClubMemberUpdatedEvent>(item); await _eventService.SaveEventAndDbContextChangesAsync(@event); await _eventService.PublishEventAsync(@event); return(item); }
public async Task UpdateClubMember_ValidRequest_DatabaseUpdates() { var clubSubscription = new ClubSubscription() { ClubId = Guid.NewGuid(), ClubSubscriptionId = Guid.NewGuid() }; var clubSubscription2 = new ClubSubscription() { ClubId = clubSubscription.ClubId, ClubSubscriptionId = Guid.NewGuid() }; var clubMember = new ClubMember() { ClubId = clubSubscription.ClubId, UserId = Guid.NewGuid(), ClubSubscriptionId = clubSubscription.ClubSubscriptionId }; using (var context = _factory.CreateContext()) { await context.ClubSubscriptions.AddRangeAsync(clubSubscription, clubSubscription2); await context.ClubMembers.AddAsync(clubMember); await context.SaveChangesAsync(); } var request = new UpdateClubMemberRequest() { ClubId = clubSubscription2.ClubId, ClubSubscriptionId = clubSubscription2.ClubSubscriptionId, UserId = clubMember.UserId }; await _mutations.UpdateClubMemberAsync(request); using (var context = _factory.CreateContext()) { var clubMemberDb = context.ClubMembers.FirstOrDefault(clubMember => clubMember.UserId == request.UserId); Assert.That(clubMemberDb, Is.Not.Null); Assert.That(context.ClubMembers.Count(), Is.EqualTo(1)); } await _publish.Received(1).Publish(Arg.Any <ClubMemberUpdatedEvent>()); }