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"); }