Example #1
0
        public void CanCreateUpdateAndRetrieveSubscriber()
        {
            var expected = subscriberFactoryFixture.CreateComplexUniqueModifyDripSubscriber();

            var result = dripClientFixture.Client.CreateOrUpdateSubscriber(expected);

            DripAssert.Success(result, HttpStatusCode.OK);

            result = dripClientFixture.Client.GetSubscriber(expected.Email);
            DripAssert.Success(result, HttpStatusCode.OK);
            Assert.Equal(1, result.Subscribers.Count);

            var actual = result.Subscribers.First();

            DripAssert.Equal(expected.CustomFields, actual.CustomFields);
            DripAssert.ContainsSameItems(expected.Tags, actual.Tags);

            var oldEmail = expected.Email;

            expected.NewEmail = subscriberFactoryFixture.GetRandomEmailAddress();
            result            = dripClientFixture.Client.CreateOrUpdateSubscriber(expected);
            Assert.True(result.HasSuccessStatusCode());
            Assert.False(result.HasErrors());

            result = dripClientFixture.Client.GetSubscriber(expected.NewEmail);
            DripAssert.Success(result, HttpStatusCode.OK);
            Assert.Equal(1, result.Subscribers.Count);

            actual = result.Subscribers.First();
            Assert.Equal(expected.NewEmail, actual.Email);
            DripAssert.Equal(expected.CustomFields, actual.CustomFields);
            DripAssert.ContainsSameItems(expected.Tags, actual.Tags);
        }