public void DeleteImage_WhileSupportedValidCredentialsAndValidRequest_ReturnTrue(WireDataFormat format)
        {
            //arrange
            var client = TestContext.CreateClientValidCredentials(format);
            var fundraisingResources = new PageApi(client.HttpChannel);
            var validRegisterPageRequest = ValidRegisterPageRequest();
            fundraisingResources.Create(validRegisterPageRequest);
            var validAddImageRequest = ValidAddFundraisingPageImageRequest(validRegisterPageRequest.PageShortName);
            fundraisingResources.AddImage(validAddImageRequest);
            var images =
                fundraisingResources.GetImages(new GetFundraisingPageImagesRequest
                    {
                        PageShortName = validRegisterPageRequest.PageShortName
                    });
            var image = images.First();

            //act
            var result = fundraisingResources.DeleteImage(validRegisterPageRequest.PageShortName, image.Url);

            //assert
            Assert.IsTrue(result);
        }
        public void AddFundraisingPageImage_WhenCredentialsValidAndRequestValid_ReturnsSuccessful(WireDataFormat format)
        {
            //arrange
            var client = TestContext.CreateClientValidCredentials(format);
            var pageClient = new PageApi(client.HttpChannel);
            var pageCreationRequest = ValidRegisterPageRequest();
            pageClient.Create(pageCreationRequest);
            var validAddImageRequest = ValidAddFundraisingPageImageRequest(pageCreationRequest.PageShortName);

            //act
            var result = pageClient.AddImage(validAddImageRequest);

            //assert
            Assert.IsNotNullOrEmpty(result.Next.Rel);
        }
		public void AddFundraisingPageImage_WhenCredentialsValidAndRequestValid_ReturnsSuccessful(WireDataFormat format)
        {
            var client = TestContext.CreateClientValidCredentials(format);
			var pageClient = new PageApi(client.HttpChannel);

            // Create Page
            var pageShortName = "api-test-" + Guid.NewGuid();
            var pageCreationRequest = new RegisterPageRequest
            {
                ActivityType = ActivityType.OtherCelebration,
                PageShortName = pageShortName,
                PageTitle = "Page Created For Update Story Integration Test",
                EventName = "Story Update Testing",
                CharityId = 2050,
                TargetAmount = 20M,
                EventDate = DateTime.Now.AddDays(5)
            };
            pageClient.Create(pageCreationRequest);

            var addImageRequest = new AddFundraisingPageImageRequest { Url = "http://placehold.it/350x150", Caption = "test image", PageShortName = pageCreationRequest.PageShortName };
            pageClient.AddImage(addImageRequest);
        }
        public void AddFundraisingPageImage_WhenCredentialsValidAndRequestNotValid_ThrowsException(WireDataFormat format)
        {
            //arrange
            var client = TestContext.CreateClientValidCredentials(format);
            var pageClient = new PageApi(client.HttpChannel);
            var pageCreationRequest = ValidRegisterPageRequest();
            pageClient.Create(pageCreationRequest);
            var addImageRequest = new AddFundraisingPageImageRequest { Url = "", Caption = "", PageShortName = pageCreationRequest.PageShortName };

            //act
            var response = Assert.Throws<ErrorResponseException>(() => pageClient.AddImage(addImageRequest));

            //assert
            Assert.That(response.Response.StatusCode, Is.EqualTo(HttpStatusCode.BadRequest));
        }
		//[Ignore("Not yet live")]
        public void AddFundraisingPageImage_WhenCredentialsValidAndRequestNotValid_ThrowsException(WireDataFormat format)
        {
            var client = TestContext.CreateClientValidCredentials(format);
			var pageClient = new PageApi(client.HttpChannel);

            // Create Page
            var pageShortName = "api-test-" + Guid.NewGuid();
            var pageCreationRequest = new RegisterPageRequest
            {
                ActivityType = ActivityType.OtherCelebration,
                PageShortName = pageShortName,
                PageTitle = "Page Created For Update Story Integration Test",
                EventName = "Story Update Testing",
                CharityId = 2050,
                TargetAmount = 20M,
                EventDate = DateTime.Now.AddDays(5)
            };

            pageClient.Create(pageCreationRequest);

            var addImageRequest = new AddFundraisingPageImageRequest {Url = "", Caption = "", PageShortName=pageCreationRequest.PageShortName};
            var response = Assert.Throws<ErrorResponseException>(()=>pageClient.AddImage(addImageRequest));
            Assert.That(response.Response.StatusCode, Is.EqualTo(HttpStatusCode.BadRequest));
        }