Beispiel #1
0
        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);
            }
        }
Beispiel #4
0
        private IVideoClubMembershipRepository GetFakeVideoClubMembershipRepository(VideoClubMembership VideoClubMembership)
        {
            IVideoClubMembershipRepository repository = new FakeVideoClubMembershipRepository();

            if (VideoClubMembership != null)
            {
                repository.Save(VideoClubMembership);
            }
            return(repository);
        }
Beispiel #5
0
        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);
        }