示例#1
0
        public PaymentRepositoryTest()
        {
            var config = new ContentfulConfig("test")
                         .Add("DELIVERY_URL", "https://fake.url")
                         .Add("TEST_SPACE", "SPACE")
                         .Add("TEST_ACCESS_KEY", "KEY")
                         .Add("TEST_MANAGEMENT_KEY", "KEY")
                         .Build();

            _alertFactory = new Mock <IContentfulFactory <ContentfulAlert, Alert> >();
            _timeProvider = new Mock <ITimeProvider>();
            _crumbFactory = new Mock <IContentfulFactory <ContentfulReference, Crumb> >();

            _crumbFactory.Setup(o => o.ToModel(It.IsAny <ContentfulReference>()))
            .Returns(new Crumb("title", "slug", "title"));

            var contentfulFactory = new PaymentContentfulFactory(_alertFactory.Object, _timeProvider.Object, _crumbFactory.Object);

            _httpClient = new Mock <IHttpClient>();

            var contentfulClientManager = new Mock <IContentfulClientManager>();

            _contentfulClient = new Mock <IContentfulClient>();
            contentfulClientManager.Setup(o => o.GetClient(config)).Returns(_contentfulClient.Object);
            _repository = new PaymentRepository
                          (
                config,
                contentfulClientManager.Object,
                contentfulFactory
                          );
        }
        public void ShouldCreateAPaymentFromAContentfulPayment()
        {
            var contentfulPayment = new ContentfulPaymentBuilder()
                                    .Slug("payment-slug")
                                    .Title("payment title")
                                    .Teaser("payment teaser")
                                    .ReferenceLabel("reference label")
                                    .Build();

            _alertFactory = new Mock <IContentfulFactory <ContentfulAlert, Alert> >();
            _timeProvider = new Mock <ITimeProvider>();
            _crumbFactory = new Mock <IContentfulFactory <ContentfulReference, Crumb> >();
            var contentfulFactory = new PaymentContentfulFactory(_alertFactory.Object, _timeProvider.Object, _crumbFactory.Object);

            var payment = contentfulFactory.ToModel(contentfulPayment);

            payment.Slug.Should().Be("payment-slug");
            payment.Title.Should().Be("payment title");
            payment.Teaser.Should().Be("payment teaser");
            payment.ReferenceLabel.Should().Be("reference label");
            payment.MetaDescription.Should().Be("metaDescription");
        }