public void VideoClubMembershipCreate() { int customerId = 344656; VideoClubMembership sut = VideoClubMembership.Create(customerId); sut.Id.ShouldBe(customerId); }
private IVideoClubMembershipRepository GetFakeVideoClubMembershipRepository() { var repository = new FakeVideoClubMembershipRepository(); var newMembership = VideoClubMembership.Create(3344656); repository.Save(newMembership); return(repository); }
public void Save(VideoClubMembership entity) { var membership = _VideoClubMemberships.SingleOrDefault(m => m.Id == entity.Id); if (membership == null) { _VideoClubMemberships.Add(entity); } }
private IVideoClubMembershipRepository GetFakeVideoClubMembershipRepository(VideoClubMembership VideoClubMembership) { IVideoClubMembershipRepository repository = new FakeVideoClubMembershipRepository(); if (VideoClubMembership != null) { repository.Save(VideoClubMembership); } return(repository); }
public async Task VideoClubPointsServiceHandlesProcessedPurchasedOrderForExistingMembership() { int customerId = 344656; AwardedCustomerPoints awardedCustomerPoints = new AwardedCustomerPoints(); var mockMediator = new Mock <IMediator>(); mockMediator.Setup(m => m.Send(It.IsAny <AwardCustomerPoints>(), It.IsAny <CancellationToken>())) .ReturnsAsync(awardedCustomerPoints) .Verifiable("Awarded Video club membership points."); ProcessedPurchaseOrder processedPurchaseOrder = new ProcessedPurchaseOrder { CustomerId = customerId, PurchaseOrderId = 4567890, Items = new List <ItemLineRequest> { new ItemLineRequest { Description = "Comprehensive First Aid Training", Type = ItemLineType.Product, Category = ItemLineCategory.Book }, new ItemLineRequest { Description = "The Girl on the Train", Type = ItemLineType.Product, Category = ItemLineCategory.Video }, } }; IVideoClubMembershipRepository fakeRepo = GetFakeVideoClubMembershipRepository(VideoClubMembership.Create(customerId)); VideoClubPointsService sut = new VideoClubPointsService(mockMediator.Object, fakeRepo); await sut.Handle(processedPurchaseOrder); mockMediator.Verify(m => m.Send(It.Is <AwardCustomerPoints>(a => a.Points == 5), It.IsAny <CancellationToken>()), Times.Once); }