From 9f60dc7eca0db16a6590bed1a680ff31e0312068 Mon Sep 17 00:00:00 2001 From: Tim Carr Date: Wed, 4 Dec 2024 12:09:08 +0800 Subject: [PATCH 01/17] Add `referrer` parameter to `add_subscriber_to_form` and `add_subscriber_to_form_by_email` methods --- src/ConvertKit_API.php | 3 +- src/ConvertKit_API_Traits.php | 29 ++++- tests/ConvertKitAPITest.php | 217 +++++++++++++++++++++++++++++++++- 3 files changed, 240 insertions(+), 9 deletions(-) diff --git a/src/ConvertKit_API.php b/src/ConvertKit_API.php index 86b1888..b039d78 100644 --- a/src/ConvertKit_API.php +++ b/src/ConvertKit_API.php @@ -25,7 +25,7 @@ class ConvertKit_API * * @var string */ - public const VERSION = '2.0.0'; + public const VERSION = '2.0.1'; /** * Debug @@ -143,6 +143,7 @@ private function create_log(string $message) $message = preg_replace_callback( '^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,3})^', function ($matches) { + // @phpstan-ignore-line return preg_replace('/\B[^@.]/', '*', $matches[0]); }, $message diff --git a/src/ConvertKit_API_Traits.php b/src/ConvertKit_API_Traits.php index b5fc993..396dcd4 100644 --- a/src/ConvertKit_API_Traits.php +++ b/src/ConvertKit_API_Traits.php @@ -227,16 +227,25 @@ public function get_landing_pages( * * @param integer $form_id Form ID. * @param string $email_address Email Address. + * @param string $referrer Referrer. * * @see https://developers.convertkit.com/v4.html#add-subscriber-to-form-by-email-address * * @return false|mixed */ - public function add_subscriber_to_form_by_email(int $form_id, string $email_address) + public function add_subscriber_to_form_by_email(int $form_id, string $email_address, string $referrer = '') { + // Build parameters. + $options = ['email_address' => $email_address]; + + if (!empty($referrer)) { + $options['referrer'] = $referrer; + } + + // Send request. return $this->post( sprintf('forms/%s/subscribers', $form_id), - ['email_address' => $email_address] + $options ); } @@ -245,6 +254,7 @@ public function add_subscriber_to_form_by_email(int $form_id, string $email_addr * * @param integer $form_id Form ID. * @param integer $subscriber_id Subscriber ID. + * @param string $referrer Referrer URL. * * @see https://developers.convertkit.com/v4.html#add-subscriber-to-form * @@ -252,9 +262,20 @@ public function add_subscriber_to_form_by_email(int $form_id, string $email_addr * * @return false|mixed */ - public function add_subscriber_to_form(int $form_id, int $subscriber_id) + public function add_subscriber_to_form(int $form_id, int $subscriber_id, string $referrer = '') { - return $this->post(sprintf('forms/%s/subscribers/%s', $form_id, $subscriber_id)); + // Build parameters. + $options = []; + + if (!empty($referrer)) { + $options['referrer'] = $referrer; + } + + // Send request. + return $this->post( + sprintf('forms/%s/subscribers/%s', $form_id, $subscriber_id), + $options + ); } /** diff --git a/tests/ConvertKitAPITest.php b/tests/ConvertKitAPITest.php index b6839a3..1027986 100644 --- a/tests/ConvertKitAPITest.php +++ b/tests/ConvertKitAPITest.php @@ -762,8 +762,8 @@ public function testGetGrowthStatsWithStartDate() $this->assertArrayHasKey('ending', $stats); // Assert start and end dates were honored. - $this->assertEquals($stats['starting'], $starting->format('Y-m-d') . 'T00:00:00-04:00'); - $this->assertEquals($stats['ending'], $ending->format('Y-m-d') . 'T23:59:59-04:00'); + $this->assertEquals($stats['starting'], $starting->format('Y-m-d') . 'T00:00:00-05:00'); + $this->assertEquals($stats['ending'], $ending->format('Y-m-d') . 'T23:59:59-05:00'); } /** @@ -799,8 +799,8 @@ public function testGetGrowthStatsWithEndDate() $this->assertArrayHasKey('ending', $stats); // Assert start and end dates were honored. - $this->assertEquals($stats['starting'], $starting->format('Y-m-d') . 'T00:00:00-04:00'); - $this->assertEquals($stats['ending'], $ending->format('Y-m-d') . 'T23:59:59-04:00'); + $this->assertEquals($stats['starting'], $starting->format('Y-m-d') . 'T00:00:00-05:00'); + $this->assertEquals($stats['ending'], $ending->format('Y-m-d') . 'T23:59:59-05:00'); } /** @@ -2731,6 +2731,114 @@ public function testAddSubscriberToFormByEmail() ); } + /** + * Test that add_subscriber_to_form_by_email() returns the expected data + * when a referrer is specified. + * + * @since 2.0.1 + * + * @return void + */ + public function testAddSubscriberToFormByEmailWithReferrer() + { + // Create subscriber. + $emailAddress = $this->generateEmailAddress(); + $subscriber = $this->api->create_subscriber( + email_address: $emailAddress, + ); + + // Set subscriber_id to ensure subscriber is unsubscribed after test. + $this->subscriber_ids[] = $subscriber->subscriber->id; + + // Add subscriber to form. + $result = $this->api->add_subscriber_to_form_by_email( + form_id: (int) $_ENV['CONVERTKIT_API_FORM_ID'], + email_address: $emailAddress, + referrer: 'https://example.com', + ); + + $this->assertInstanceOf('stdClass', $result); + $this->assertArrayHasKey('subscriber', get_object_vars($result)); + $this->assertArrayHasKey('id', get_object_vars($result->subscriber)); + $this->assertEquals( + get_object_vars($result->subscriber)['email_address'], + $emailAddress + ); + $this->assertEquals( + $result->subscriber->referrer, + 'https://example.com' + ); + } + + /** + * Test that add_subscriber_to_form_by_email() returns the expected data + * when a referrer is specified that includes UTM parameters. + * + * @since 2.0.1 + * + * @return void + */ + public function testAddSubscriberToFormByEmailWithReferrerUTMParams() + { + // Define referrer. + $referrerUTMParams = [ + 'utm_source' => 'source', + 'utm_medium' => 'medium', + 'utm_campaign' => 'campaign', + 'utm_term' => 'term', + 'utm_content' => 'content', + ]; + $referrer = 'https://example.com/?' . http_build_query($referrerUTMParams); + + // Create subscriber. + $emailAddress = $this->generateEmailAddress(); + $subscriber = $this->api->create_subscriber( + email_address: $emailAddress, + ); + + // Set subscriber_id to ensure subscriber is unsubscribed after test. + $this->subscriber_ids[] = $subscriber->subscriber->id; + + // Add subscriber to form. + $result = $this->api->add_subscriber_to_form_by_email( + form_id: (int) $_ENV['CONVERTKIT_API_FORM_ID'], + email_address: $emailAddress, + referrer: $referrer, + ); + + $this->assertInstanceOf('stdClass', $result); + $this->assertArrayHasKey('subscriber', get_object_vars($result)); + $this->assertArrayHasKey('id', get_object_vars($result->subscriber)); + $this->assertEquals( + get_object_vars($result->subscriber)['email_address'], + $emailAddress + ); + $this->assertEquals( + $result->subscriber->referrer, + $referrer + ); + $this->assertEquals( + $result->subscriber->referrer_utm_parameters->source, + 'source' + ); + $this->assertEquals( + $result->subscriber->referrer_utm_parameters->medium, + 'medium' + ); + $this->assertEquals( + $result->subscriber->referrer_utm_parameters->campaign, + 'campaign' + ); + $this->assertEquals( + $result->subscriber->referrer_utm_parameters->term, + 'term' + ); + $this->assertEquals( + $result->subscriber->referrer_utm_parameters->content, + 'content' + ); + } + /** * Test that add_subscriber_to_form_by_email() throws a ClientException when an invalid * form ID is specified. @@ -2792,6 +2900,107 @@ public function testAddSubscriberToForm() $this->assertEquals(get_object_vars($result->subscriber)['id'], $subscriber->subscriber->id); } + /** + * Test that add_subscriber_to_form() returns the expected data + * when a referrer is specified. + * + * @since 2.0.1 + * + * @return void + */ + public function testAddSubscriberToFormWithReferrer() + { + // Create subscriber. + $subscriber = $this->api->create_subscriber( + email_address: $this->generateEmailAddress() + ); + + // Set subscriber_id to ensure subscriber is unsubscribed after test. + $this->subscriber_ids[] = $subscriber->subscriber->id; + + $result = $this->api->add_subscriber_to_form( + form_id: (int) $_ENV['CONVERTKIT_API_FORM_ID'], + subscriber_id: $subscriber->subscriber->id, + referrer: 'https://example.com', + ); + $this->assertInstanceOf('stdClass', $result); + $this->assertArrayHasKey('subscriber', get_object_vars($result)); + $this->assertArrayHasKey('id', get_object_vars($result->subscriber)); + $this->assertEquals(get_object_vars($result->subscriber)['id'], $subscriber->subscriber->id); + $this->assertEquals( + get_object_vars($result->subscriber)['referrer'], + 'https://example.com' + ); + } + + /** + * Test that add_subscriber_to_form() returns the expected data + * when a referrer is specified that includes UTM parameters. + * + * @since 2.0.1 + * + * @return void + */ + public function testAddSubscriberToFormWithReferrerUTMParams() + { + // Define referrer. + $referrerUTMParams = [ + 'utm_source' => 'source', + 'utm_medium' => 'medium', + 'utm_campaign' => 'campaign', + 'utm_term' => 'term', + 'utm_content' => 'content', + ]; + $referrer = 'https://example.com/?' . http_build_query($referrerUTMParams); + + // Create subscriber. + $subscriber = $this->api->create_subscriber( + email_address: $this->generateEmailAddress() + ); + + // Set subscriber_id to ensure subscriber is unsubscribed after test. + $this->subscriber_ids[] = $subscriber->subscriber->id; + + $result = $this->api->add_subscriber_to_form( + form_id: (int) $_ENV['CONVERTKIT_API_FORM_ID'], + subscriber_id: $subscriber->subscriber->id, + referrer: $referrer, + ); + + $this->assertInstanceOf('stdClass', $result); + $this->assertArrayHasKey('subscriber', get_object_vars($result)); + $this->assertArrayHasKey('id', get_object_vars($result->subscriber)); + $this->assertEquals(get_object_vars($result->subscriber)['id'], $subscriber->subscriber->id); + + $this->assertInstanceOf('stdClass', $result); + $this->assertArrayHasKey('subscriber', get_object_vars($result)); + $this->assertArrayHasKey('id', get_object_vars($result->subscriber)); + $this->assertEquals( + $result->subscriber->referrer, + $referrer + ); + $this->assertEquals( + $result->subscriber->referrer_utm_parameters->source, + 'source' + ); + $this->assertEquals( + $result->subscriber->referrer_utm_parameters->medium, + 'medium' + ); + $this->assertEquals( + $result->subscriber->referrer_utm_parameters->campaign, + 'campaign' + ); + $this->assertEquals( + $result->subscriber->referrer_utm_parameters->term, + 'term' + ); + $this->assertEquals( + $result->subscriber->referrer_utm_parameters->content, + 'content' + ); + } + /** * Test that add_subscriber_to_form() throws a ClientException when an invalid * form ID is specified. From dcb923e61c7d2f037f4c38cf6c625a1affee4f42 Mon Sep 17 00:00:00 2001 From: Tim Carr Date: Wed, 4 Dec 2024 12:23:20 +0800 Subject: [PATCH 02/17] Improve tests --- tests/ConvertKitAPITest.php | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/tests/ConvertKitAPITest.php b/tests/ConvertKitAPITest.php index 1027986..1643052 100644 --- a/tests/ConvertKitAPITest.php +++ b/tests/ConvertKitAPITest.php @@ -2819,23 +2819,23 @@ public function testAddSubscriberToFormByEmailWithReferrerUTMParams() ); $this->assertEquals( $result->subscriber->referrer_utm_parameters->source, - 'source' + $referrerUTMParams['utm_source'] ); $this->assertEquals( $result->subscriber->referrer_utm_parameters->medium, - 'medium' + $referrerUTMParams['utm_medium'] ); $this->assertEquals( $result->subscriber->referrer_utm_parameters->campaign, - 'campaign' + $referrerUTMParams['utm_campaign'] ); $this->assertEquals( $result->subscriber->referrer_utm_parameters->term, - 'term' + $referrerUTMParams['utm_term'] ); $this->assertEquals( $result->subscriber->referrer_utm_parameters->content, - 'content' + $referrerUTMParams['utm_content'] ); } @@ -2928,7 +2928,7 @@ public function testAddSubscriberToFormWithReferrer() $this->assertArrayHasKey('id', get_object_vars($result->subscriber)); $this->assertEquals(get_object_vars($result->subscriber)['id'], $subscriber->subscriber->id); $this->assertEquals( - get_object_vars($result->subscriber)['referrer'], + $result->subscriber->referrer, 'https://example.com' ); } @@ -2981,23 +2981,23 @@ public function testAddSubscriberToFormWithReferrerUTMParams() ); $this->assertEquals( $result->subscriber->referrer_utm_parameters->source, - 'source' + $referrerUTMParams['utm_source'] ); $this->assertEquals( $result->subscriber->referrer_utm_parameters->medium, - 'medium' + $referrerUTMParams['utm_medium'] ); $this->assertEquals( $result->subscriber->referrer_utm_parameters->campaign, - 'campaign' + $referrerUTMParams['utm_campaign'] ); $this->assertEquals( $result->subscriber->referrer_utm_parameters->term, - 'term' + $referrerUTMParams['utm_term'] ); $this->assertEquals( $result->subscriber->referrer_utm_parameters->content, - 'content' + $referrerUTMParams['utm_content'] ); } From a28254aa4d32938d6bc5d37fa4abbf024bb68725 Mon Sep 17 00:00:00 2001 From: Tim Carr Date: Wed, 4 Dec 2024 12:35:21 +0800 Subject: [PATCH 03/17] =?UTF-8?q?Don=E2=80=99t=20remove=20subscribers=20af?= =?UTF-8?q?ter=20test?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- tests/ConvertKitAPITest.php | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) diff --git a/tests/ConvertKitAPITest.php b/tests/ConvertKitAPITest.php index 1643052..18d83ed 100644 --- a/tests/ConvertKitAPITest.php +++ b/tests/ConvertKitAPITest.php @@ -111,11 +111,6 @@ protected function tearDown(): void $this->api->delete_custom_field($id); } - // Unsubscribe any Subscribers. - foreach ($this->subscriber_ids as $id) { - $this->api->unsubscribe($id); - } - // Delete any Webhooks. foreach ($this->webhook_ids as $id) { $this->api->delete_webhook($id); @@ -5295,11 +5290,11 @@ private function callPrivateMethod($obj, $name, array $args) * * @since 1.0.0 * - * @param string $domain Domain (default: convertkit.com). + * @param string $domain Domain (default: kit.com). * * @return string */ - private function generateEmailAddress($domain = 'convertkit.com') + private function generateEmailAddress($domain = 'kit.com') { return 'php-sdk-' . date('Y-m-d-H-i-s') . '-php-' . PHP_VERSION_ID . '@' . $domain; } From a1de77572c19f17c339f2f1e033dfb7644cb8569 Mon Sep 17 00:00:00 2001 From: Tim Carr Date: Wed, 4 Dec 2024 12:52:42 +0800 Subject: [PATCH 04/17] Debug test --- .github/workflows/tests.yml | 10 +--------- tests/ConvertKitAPITest.php | 3 +++ 2 files changed, 4 insertions(+), 9 deletions(-) diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index 43d8299..6e667a2 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -23,7 +23,7 @@ jobs: strategy: fail-fast: false matrix: - php-versions: [ '8.0', '8.1', '8.2', '8.3' ] + php-versions: [ '8.3' ] # Steps to install, configure and run tests steps: @@ -68,14 +68,6 @@ jobs: - name: Build PHP Autoloader run: composer dump-autoload - # Run Coding Standards. - - name: Run Coding Standards - run: php vendor/bin/phpcs --standard=phpcs.xml - - # Run Coding Standards on Tests. - - name: Run Coding Standards on Tests - run: php vendor/bin/phpcs --standard=phpcs.tests.xml - # Run PHPUnit Tests. - name: Run PHPUnit Tests run: vendor/bin/phpunit --verbose --stop-on-failure \ No newline at end of file diff --git a/tests/ConvertKitAPITest.php b/tests/ConvertKitAPITest.php index 18d83ed..7dae7ea 100644 --- a/tests/ConvertKitAPITest.php +++ b/tests/ConvertKitAPITest.php @@ -2752,6 +2752,9 @@ public function testAddSubscriberToFormByEmailWithReferrer() referrer: 'https://example.com', ); + var_dump($result); + die(); + $this->assertInstanceOf('stdClass', $result); $this->assertArrayHasKey('subscriber', get_object_vars($result)); $this->assertArrayHasKey('id', get_object_vars($result->subscriber)); From 26ea15494fec930131275f38cc9ba513cb0aa5c7 Mon Sep 17 00:00:00 2001 From: Tim Carr Date: Wed, 4 Dec 2024 12:54:39 +0800 Subject: [PATCH 05/17] Remove test debugging --- tests/ConvertKitAPITest.php | 3 --- 1 file changed, 3 deletions(-) diff --git a/tests/ConvertKitAPITest.php b/tests/ConvertKitAPITest.php index 7dae7ea..18d83ed 100644 --- a/tests/ConvertKitAPITest.php +++ b/tests/ConvertKitAPITest.php @@ -2752,9 +2752,6 @@ public function testAddSubscriberToFormByEmailWithReferrer() referrer: 'https://example.com', ); - var_dump($result); - die(); - $this->assertInstanceOf('stdClass', $result); $this->assertArrayHasKey('subscriber', get_object_vars($result)); $this->assertArrayHasKey('id', get_object_vars($result->subscriber)); From f904ac774f0616c064bc0ef7a36f3ce634464e8e Mon Sep 17 00:00:00 2001 From: Tim Carr Date: Wed, 4 Dec 2024 12:57:02 +0800 Subject: [PATCH 06/17] Debug tests, again --- tests/ConvertKitAPITest.php | 3 +++ 1 file changed, 3 insertions(+) diff --git a/tests/ConvertKitAPITest.php b/tests/ConvertKitAPITest.php index 18d83ed..851d29f 100644 --- a/tests/ConvertKitAPITest.php +++ b/tests/ConvertKitAPITest.php @@ -2801,6 +2801,9 @@ public function testAddSubscriberToFormByEmailWithReferrerUTMParams() referrer: $referrer, ); + var_dump( $result ); + die(); + $this->assertInstanceOf('stdClass', $result); $this->assertArrayHasKey('subscriber', get_object_vars($result)); $this->assertArrayHasKey('id', get_object_vars($result->subscriber)); From 43b14ba11fec6b9dd5d699a8a747c1d26a5b325a Mon Sep 17 00:00:00 2001 From: Tim Carr Date: Wed, 4 Dec 2024 12:59:25 +0800 Subject: [PATCH 07/17] Delay tests --- tests/ConvertKitAPITest.php | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/tests/ConvertKitAPITest.php b/tests/ConvertKitAPITest.php index 851d29f..8ac0ed9 100644 --- a/tests/ConvertKitAPITest.php +++ b/tests/ConvertKitAPITest.php @@ -2746,6 +2746,7 @@ public function testAddSubscriberToFormByEmailWithReferrer() $this->subscriber_ids[] = $subscriber->subscriber->id; // Add subscriber to form. + sleep(1); $result = $this->api->add_subscriber_to_form_by_email( form_id: (int) $_ENV['CONVERTKIT_API_FORM_ID'], email_address: $emailAddress, @@ -2795,15 +2796,13 @@ public function testAddSubscriberToFormByEmailWithReferrerUTMParams() $this->subscriber_ids[] = $subscriber->subscriber->id; // Add subscriber to form. + sleep(1); $result = $this->api->add_subscriber_to_form_by_email( form_id: (int) $_ENV['CONVERTKIT_API_FORM_ID'], email_address: $emailAddress, referrer: $referrer, ); - var_dump( $result ); - die(); - $this->assertInstanceOf('stdClass', $result); $this->assertArrayHasKey('subscriber', get_object_vars($result)); $this->assertArrayHasKey('id', get_object_vars($result->subscriber)); @@ -2916,11 +2915,14 @@ public function testAddSubscriberToFormWithReferrer() // Set subscriber_id to ensure subscriber is unsubscribed after test. $this->subscriber_ids[] = $subscriber->subscriber->id; + // Add subscriber to form. + sleep(1); $result = $this->api->add_subscriber_to_form( form_id: (int) $_ENV['CONVERTKIT_API_FORM_ID'], subscriber_id: $subscriber->subscriber->id, referrer: 'https://example.com', ); + $this->assertInstanceOf('stdClass', $result); $this->assertArrayHasKey('subscriber', get_object_vars($result)); $this->assertArrayHasKey('id', get_object_vars($result->subscriber)); @@ -2959,6 +2961,8 @@ public function testAddSubscriberToFormWithReferrerUTMParams() // Set subscriber_id to ensure subscriber is unsubscribed after test. $this->subscriber_ids[] = $subscriber->subscriber->id; + // Add subscriber to form. + sleep(1); $result = $this->api->add_subscriber_to_form( form_id: (int) $_ENV['CONVERTKIT_API_FORM_ID'], subscriber_id: $subscriber->subscriber->id, From 85b49881d13487d8dbef11b77f3f762d21ad235c Mon Sep 17 00:00:00 2001 From: Tim Carr Date: Wed, 4 Dec 2024 13:04:05 +0800 Subject: [PATCH 08/17] Debug tests --- tests/ConvertKitAPITest.php | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/tests/ConvertKitAPITest.php b/tests/ConvertKitAPITest.php index 8ac0ed9..5bdbac2 100644 --- a/tests/ConvertKitAPITest.php +++ b/tests/ConvertKitAPITest.php @@ -2746,13 +2746,14 @@ public function testAddSubscriberToFormByEmailWithReferrer() $this->subscriber_ids[] = $subscriber->subscriber->id; // Add subscriber to form. - sleep(1); $result = $this->api->add_subscriber_to_form_by_email( form_id: (int) $_ENV['CONVERTKIT_API_FORM_ID'], email_address: $emailAddress, referrer: 'https://example.com', ); + var_dump( $result ); + $this->assertInstanceOf('stdClass', $result); $this->assertArrayHasKey('subscriber', get_object_vars($result)); $this->assertArrayHasKey('id', get_object_vars($result->subscriber)); @@ -2796,13 +2797,14 @@ public function testAddSubscriberToFormByEmailWithReferrerUTMParams() $this->subscriber_ids[] = $subscriber->subscriber->id; // Add subscriber to form. - sleep(1); $result = $this->api->add_subscriber_to_form_by_email( form_id: (int) $_ENV['CONVERTKIT_API_FORM_ID'], email_address: $emailAddress, referrer: $referrer, ); + var_dump( $result ); + $this->assertInstanceOf('stdClass', $result); $this->assertArrayHasKey('subscriber', get_object_vars($result)); $this->assertArrayHasKey('id', get_object_vars($result->subscriber)); @@ -2916,13 +2918,14 @@ public function testAddSubscriberToFormWithReferrer() $this->subscriber_ids[] = $subscriber->subscriber->id; // Add subscriber to form. - sleep(1); $result = $this->api->add_subscriber_to_form( form_id: (int) $_ENV['CONVERTKIT_API_FORM_ID'], subscriber_id: $subscriber->subscriber->id, referrer: 'https://example.com', ); + var_dump( $result ); + $this->assertInstanceOf('stdClass', $result); $this->assertArrayHasKey('subscriber', get_object_vars($result)); $this->assertArrayHasKey('id', get_object_vars($result->subscriber)); @@ -2962,13 +2965,14 @@ public function testAddSubscriberToFormWithReferrerUTMParams() $this->subscriber_ids[] = $subscriber->subscriber->id; // Add subscriber to form. - sleep(1); $result = $this->api->add_subscriber_to_form( form_id: (int) $_ENV['CONVERTKIT_API_FORM_ID'], subscriber_id: $subscriber->subscriber->id, referrer: $referrer, ); + var_dump( $result ); + $this->assertInstanceOf('stdClass', $result); $this->assertArrayHasKey('subscriber', get_object_vars($result)); $this->assertArrayHasKey('id', get_object_vars($result->subscriber)); From eb494bdde41fc9d8a612b42f9d5baa85fd3bbcac Mon Sep 17 00:00:00 2001 From: Tim Carr Date: Wed, 4 Dec 2024 13:11:50 +0800 Subject: [PATCH 09/17] Fix tests --- .github/workflows/tests.yml | 10 ++++- tests/ConvertKitAPITest.php | 73 +++---------------------------------- 2 files changed, 14 insertions(+), 69 deletions(-) diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index 6e667a2..43d8299 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -23,7 +23,7 @@ jobs: strategy: fail-fast: false matrix: - php-versions: [ '8.3' ] + php-versions: [ '8.0', '8.1', '8.2', '8.3' ] # Steps to install, configure and run tests steps: @@ -68,6 +68,14 @@ jobs: - name: Build PHP Autoloader run: composer dump-autoload + # Run Coding Standards. + - name: Run Coding Standards + run: php vendor/bin/phpcs --standard=phpcs.xml + + # Run Coding Standards on Tests. + - name: Run Coding Standards on Tests + run: php vendor/bin/phpcs --standard=phpcs.tests.xml + # Run PHPUnit Tests. - name: Run PHPUnit Tests run: vendor/bin/phpunit --verbose --stop-on-failure \ No newline at end of file diff --git a/tests/ConvertKitAPITest.php b/tests/ConvertKitAPITest.php index 5bdbac2..b9dc4a4 100644 --- a/tests/ConvertKitAPITest.php +++ b/tests/ConvertKitAPITest.php @@ -111,6 +111,11 @@ protected function tearDown(): void $this->api->delete_custom_field($id); } + // Unsubscribe any Subscribers. + foreach ($this->subscriber_ids as $id) { + $this->api->unsubscribe($id); + } + // Delete any Webhooks. foreach ($this->webhook_ids as $id) { $this->api->delete_webhook($id); @@ -2752,8 +2757,6 @@ public function testAddSubscriberToFormByEmailWithReferrer() referrer: 'https://example.com', ); - var_dump( $result ); - $this->assertInstanceOf('stdClass', $result); $this->assertArrayHasKey('subscriber', get_object_vars($result)); $this->assertArrayHasKey('id', get_object_vars($result->subscriber)); @@ -2761,10 +2764,6 @@ public function testAddSubscriberToFormByEmailWithReferrer() get_object_vars($result->subscriber)['email_address'], $emailAddress ); - $this->assertEquals( - $result->subscriber->referrer, - 'https://example.com' - ); } /** @@ -2803,8 +2802,6 @@ public function testAddSubscriberToFormByEmailWithReferrerUTMParams() referrer: $referrer, ); - var_dump( $result ); - $this->assertInstanceOf('stdClass', $result); $this->assertArrayHasKey('subscriber', get_object_vars($result)); $this->assertArrayHasKey('id', get_object_vars($result->subscriber)); @@ -2812,30 +2809,6 @@ public function testAddSubscriberToFormByEmailWithReferrerUTMParams() get_object_vars($result->subscriber)['email_address'], $emailAddress ); - $this->assertEquals( - $result->subscriber->referrer, - $referrer - ); - $this->assertEquals( - $result->subscriber->referrer_utm_parameters->source, - $referrerUTMParams['utm_source'] - ); - $this->assertEquals( - $result->subscriber->referrer_utm_parameters->medium, - $referrerUTMParams['utm_medium'] - ); - $this->assertEquals( - $result->subscriber->referrer_utm_parameters->campaign, - $referrerUTMParams['utm_campaign'] - ); - $this->assertEquals( - $result->subscriber->referrer_utm_parameters->term, - $referrerUTMParams['utm_term'] - ); - $this->assertEquals( - $result->subscriber->referrer_utm_parameters->content, - $referrerUTMParams['utm_content'] - ); } /** @@ -2924,16 +2897,10 @@ public function testAddSubscriberToFormWithReferrer() referrer: 'https://example.com', ); - var_dump( $result ); - $this->assertInstanceOf('stdClass', $result); $this->assertArrayHasKey('subscriber', get_object_vars($result)); $this->assertArrayHasKey('id', get_object_vars($result->subscriber)); $this->assertEquals(get_object_vars($result->subscriber)['id'], $subscriber->subscriber->id); - $this->assertEquals( - $result->subscriber->referrer, - 'https://example.com' - ); } /** @@ -2971,40 +2938,10 @@ public function testAddSubscriberToFormWithReferrerUTMParams() referrer: $referrer, ); - var_dump( $result ); - $this->assertInstanceOf('stdClass', $result); $this->assertArrayHasKey('subscriber', get_object_vars($result)); $this->assertArrayHasKey('id', get_object_vars($result->subscriber)); $this->assertEquals(get_object_vars($result->subscriber)['id'], $subscriber->subscriber->id); - - $this->assertInstanceOf('stdClass', $result); - $this->assertArrayHasKey('subscriber', get_object_vars($result)); - $this->assertArrayHasKey('id', get_object_vars($result->subscriber)); - $this->assertEquals( - $result->subscriber->referrer, - $referrer - ); - $this->assertEquals( - $result->subscriber->referrer_utm_parameters->source, - $referrerUTMParams['utm_source'] - ); - $this->assertEquals( - $result->subscriber->referrer_utm_parameters->medium, - $referrerUTMParams['utm_medium'] - ); - $this->assertEquals( - $result->subscriber->referrer_utm_parameters->campaign, - $referrerUTMParams['utm_campaign'] - ); - $this->assertEquals( - $result->subscriber->referrer_utm_parameters->term, - $referrerUTMParams['utm_term'] - ); - $this->assertEquals( - $result->subscriber->referrer_utm_parameters->content, - $referrerUTMParams['utm_content'] - ); } /** From 0493a54496af22e665160cacdaa48c75a6f93d16 Mon Sep 17 00:00:00 2001 From: Tim Carr Date: Wed, 4 Dec 2024 13:45:41 +0800 Subject: [PATCH 10/17] Add helper method to assert referrer set --- tests/ConvertKitAPITest.php | 86 +++++++++++++++++++++++++++++++------ 1 file changed, 72 insertions(+), 14 deletions(-) diff --git a/tests/ConvertKitAPITest.php b/tests/ConvertKitAPITest.php index b9dc4a4..beac6d4 100644 --- a/tests/ConvertKitAPITest.php +++ b/tests/ConvertKitAPITest.php @@ -2754,7 +2754,7 @@ public function testAddSubscriberToFormByEmailWithReferrer() $result = $this->api->add_subscriber_to_form_by_email( form_id: (int) $_ENV['CONVERTKIT_API_FORM_ID'], email_address: $emailAddress, - referrer: 'https://example.com', + referrer: 'https://mywebsite.com/bfpromo/', ); $this->assertInstanceOf('stdClass', $result); @@ -2764,6 +2764,13 @@ public function testAddSubscriberToFormByEmailWithReferrer() get_object_vars($result->subscriber)['email_address'], $emailAddress ); + + // Assert referrer data set for form subscriber. + $this->assertFormSubscriberHasReferrer( + formID: (int) $_ENV['CONVERTKIT_API_FORM_ID'], + subscriberID: $subscriber->subscriber->id, + referrer: 'https://mywebsite.com/bfpromo/' + ); } /** @@ -2778,13 +2785,13 @@ public function testAddSubscriberToFormByEmailWithReferrerUTMParams() { // Define referrer. $referrerUTMParams = [ - 'utm_source' => 'source', - 'utm_medium' => 'medium', - 'utm_campaign' => 'campaign', - 'utm_term' => 'term', - 'utm_content' => 'content', + 'utm_source' => 'facebook', + 'utm_medium' => 'cpc', + 'utm_campaign' => 'black_friday', + 'utm_term' => 'car_owners', + 'utm_content' => 'get_10_off', ]; - $referrer = 'https://example.com/?' . http_build_query($referrerUTMParams); + $referrer = 'https://mywebsite.com/bfpromo/?' . http_build_query($referrerUTMParams); // Create subscriber. $emailAddress = $this->generateEmailAddress(); @@ -2809,6 +2816,14 @@ public function testAddSubscriberToFormByEmailWithReferrerUTMParams() get_object_vars($result->subscriber)['email_address'], $emailAddress ); + + // Assert referrer data set for form subscriber. + $this->assertFormSubscriberHasReferrer( + formID: (int) $_ENV['CONVERTKIT_API_FORM_ID'], + subscriberID: $subscriber->subscriber->id, + referrer: 'https://mywebsite.com/bfpromo/', + referrerUTMParams: $referrerUTMParams + ); } /** @@ -2894,13 +2909,20 @@ public function testAddSubscriberToFormWithReferrer() $result = $this->api->add_subscriber_to_form( form_id: (int) $_ENV['CONVERTKIT_API_FORM_ID'], subscriber_id: $subscriber->subscriber->id, - referrer: 'https://example.com', + referrer: 'https://mywebsite.com/bfpromo/', ); $this->assertInstanceOf('stdClass', $result); $this->assertArrayHasKey('subscriber', get_object_vars($result)); $this->assertArrayHasKey('id', get_object_vars($result->subscriber)); $this->assertEquals(get_object_vars($result->subscriber)['id'], $subscriber->subscriber->id); + + // Assert referrer data set for form subscriber. + $this->assertFormSubscriberHasReferrer( + formID: (int) $_ENV['CONVERTKIT_API_FORM_ID'], + subscriberID: $subscriber->subscriber->id, + referrer: 'https://mywebsite.com/bfpromo/' + ); } /** @@ -2915,13 +2937,13 @@ public function testAddSubscriberToFormWithReferrerUTMParams() { // Define referrer. $referrerUTMParams = [ - 'utm_source' => 'source', - 'utm_medium' => 'medium', - 'utm_campaign' => 'campaign', - 'utm_term' => 'term', - 'utm_content' => 'content', + 'utm_source' => 'facebook', + 'utm_medium' => 'cpc', + 'utm_campaign' => 'black_friday', + 'utm_term' => 'car_owners', + 'utm_content' => 'get_10_off', ]; - $referrer = 'https://example.com/?' . http_build_query($referrerUTMParams); + $referrer = 'https://mywebsite.com/bfpromo/?' . http_build_query($referrerUTMParams); // Create subscriber. $subscriber = $this->api->create_subscriber( @@ -2942,6 +2964,14 @@ public function testAddSubscriberToFormWithReferrerUTMParams() $this->assertArrayHasKey('subscriber', get_object_vars($result)); $this->assertArrayHasKey('id', get_object_vars($result->subscriber)); $this->assertEquals(get_object_vars($result->subscriber)['id'], $subscriber->subscriber->id); + + // Assert referrer data set for form subscriber. + $this->assertFormSubscriberHasReferrer( + formID: (int) $_ENV['CONVERTKIT_API_FORM_ID'], + subscriberID: $subscriber->subscriber->id, + referrer: 'https://mywebsite.com/bfpromo/', + referrerUTMParams: $referrerUTMParams + ); } /** @@ -5324,4 +5354,32 @@ private function assertPaginationExists($result) $this->assertArrayHasKey('end_cursor', $pagination); $this->assertArrayHasKey('per_page', $pagination); } + + /** + * Helper method to assert a form subscriber has the given referrer. + * + * @since 2.0.1 + */ + private function assertFormSubscriberHasReferrer($formID, $subscriberID, $referrer, $referrerUTMParams = false) + { + // Get form subscribers. + $subscribers = $this->api->get_form_subscriptions( + form_id: $formID + ); + + // Find subscriber. + foreach ($subscribers->subscribers as $formSubscriber) { + if ($formSubscriber->id === $subscriberID) { + // Assert subscriber has correct referrer. + $this->assertEquals( + $formSubscriber->referrer, + $referrer . ($referrerUTMParams ? '?' . http_build_query($referrerUTMParams) : '') + ); + return; + } + } + + // If here, subscriber not found. + $this->assertTrue(false); + } } From f0ff1c6a20eab2a35c146734e26395f6101872aa Mon Sep 17 00:00:00 2001 From: Tim Carr Date: Wed, 4 Dec 2024 13:48:23 +0800 Subject: [PATCH 11/17] Debug tests --- .github/workflows/tests.yml | 8 -------- tests/ConvertKitAPITest.php | 3 +++ 2 files changed, 3 insertions(+), 8 deletions(-) diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index 43d8299..35f3118 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -68,14 +68,6 @@ jobs: - name: Build PHP Autoloader run: composer dump-autoload - # Run Coding Standards. - - name: Run Coding Standards - run: php vendor/bin/phpcs --standard=phpcs.xml - - # Run Coding Standards on Tests. - - name: Run Coding Standards on Tests - run: php vendor/bin/phpcs --standard=phpcs.tests.xml - # Run PHPUnit Tests. - name: Run PHPUnit Tests run: vendor/bin/phpunit --verbose --stop-on-failure \ No newline at end of file diff --git a/tests/ConvertKitAPITest.php b/tests/ConvertKitAPITest.php index beac6d4..3f7af6d 100644 --- a/tests/ConvertKitAPITest.php +++ b/tests/ConvertKitAPITest.php @@ -5371,6 +5371,9 @@ private function assertFormSubscriberHasReferrer($formID, $subscriberID, $referr foreach ($subscribers->subscribers as $formSubscriber) { if ($formSubscriber->id === $subscriberID) { // Assert subscriber has correct referrer. + var_dump( $formSubscriber ); + var_dump( $referrer ); + var_dump( $referrerUTMParams ); $this->assertEquals( $formSubscriber->referrer, $referrer . ($referrerUTMParams ? '?' . http_build_query($referrerUTMParams) : '') From 1afc90030c4ad41831b096cabf434f1597a2094c Mon Sep 17 00:00:00 2001 From: Tim Carr Date: Wed, 4 Dec 2024 13:54:15 +0800 Subject: [PATCH 12/17] Debug tests --- src/ConvertKit_API_Traits.php | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/ConvertKit_API_Traits.php b/src/ConvertKit_API_Traits.php index 396dcd4..7232ee1 100644 --- a/src/ConvertKit_API_Traits.php +++ b/src/ConvertKit_API_Traits.php @@ -242,6 +242,8 @@ public function add_subscriber_to_form_by_email(int $form_id, string $email_addr $options['referrer'] = $referrer; } + var_dump($options); + // Send request. return $this->post( sprintf('forms/%s/subscribers', $form_id), From 96530809cda7e304220dc71b8ccba85c0e23f15d Mon Sep 17 00:00:00 2001 From: Tim Carr Date: Wed, 4 Dec 2024 13:56:41 +0800 Subject: [PATCH 13/17] Revert debugging --- .github/workflows/tests.yml | 8 ++++++++ src/ConvertKit_API_Traits.php | 2 -- tests/ConvertKitAPITest.php | 3 --- 3 files changed, 8 insertions(+), 5 deletions(-) diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index 35f3118..43d8299 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -68,6 +68,14 @@ jobs: - name: Build PHP Autoloader run: composer dump-autoload + # Run Coding Standards. + - name: Run Coding Standards + run: php vendor/bin/phpcs --standard=phpcs.xml + + # Run Coding Standards on Tests. + - name: Run Coding Standards on Tests + run: php vendor/bin/phpcs --standard=phpcs.tests.xml + # Run PHPUnit Tests. - name: Run PHPUnit Tests run: vendor/bin/phpunit --verbose --stop-on-failure \ No newline at end of file diff --git a/src/ConvertKit_API_Traits.php b/src/ConvertKit_API_Traits.php index 7232ee1..396dcd4 100644 --- a/src/ConvertKit_API_Traits.php +++ b/src/ConvertKit_API_Traits.php @@ -242,8 +242,6 @@ public function add_subscriber_to_form_by_email(int $form_id, string $email_addr $options['referrer'] = $referrer; } - var_dump($options); - // Send request. return $this->post( sprintf('forms/%s/subscribers', $form_id), diff --git a/tests/ConvertKitAPITest.php b/tests/ConvertKitAPITest.php index 3f7af6d..beac6d4 100644 --- a/tests/ConvertKitAPITest.php +++ b/tests/ConvertKitAPITest.php @@ -5371,9 +5371,6 @@ private function assertFormSubscriberHasReferrer($formID, $subscriberID, $referr foreach ($subscribers->subscribers as $formSubscriber) { if ($formSubscriber->id === $subscriberID) { // Assert subscriber has correct referrer. - var_dump( $formSubscriber ); - var_dump( $referrer ); - var_dump( $referrerUTMParams ); $this->assertEquals( $formSubscriber->referrer, $referrer . ($referrerUTMParams ? '?' . http_build_query($referrerUTMParams) : '') From 513e73c824956854ea723108a90b1ae7bd52a2f7 Mon Sep 17 00:00:00 2001 From: Tim Carr Date: Wed, 4 Dec 2024 14:00:42 +0800 Subject: [PATCH 14/17] Add a pause between each test to avoid a 429 rate limit --- tests/ConvertKitAPITest.php | 3 +++ 1 file changed, 3 insertions(+) diff --git a/tests/ConvertKitAPITest.php b/tests/ConvertKitAPITest.php index beac6d4..b56348d 100644 --- a/tests/ConvertKitAPITest.php +++ b/tests/ConvertKitAPITest.php @@ -95,6 +95,9 @@ protected function setUp(): void clientSecret: $_ENV['CONVERTKIT_OAUTH_CLIENT_SECRET'], accessToken: $_ENV['CONVERTKIT_OAUTH_ACCESS_TOKEN'] ); + + // Wait a second to avoid hitting a 429 rate limit. + sleep(1); } /** From 5dd3d015daf543f919eea4f4360d1542937184b1 Mon Sep 17 00:00:00 2001 From: Tim Carr Date: Wed, 4 Dec 2024 14:12:27 +0800 Subject: [PATCH 15/17] Check result of form subscribe instead of separate API query in tests --- tests/ConvertKitAPITest.php | 98 ++++++++++++++++++++----------------- 1 file changed, 52 insertions(+), 46 deletions(-) diff --git a/tests/ConvertKitAPITest.php b/tests/ConvertKitAPITest.php index b56348d..3692114 100644 --- a/tests/ConvertKitAPITest.php +++ b/tests/ConvertKitAPITest.php @@ -2769,10 +2769,9 @@ public function testAddSubscriberToFormByEmailWithReferrer() ); // Assert referrer data set for form subscriber. - $this->assertFormSubscriberHasReferrer( - formID: (int) $_ENV['CONVERTKIT_API_FORM_ID'], - subscriberID: $subscriber->subscriber->id, - referrer: 'https://mywebsite.com/bfpromo/' + $this->assertEquals( + $result->subscriber->referrer, + 'https://mywebsite.com/bfpromo/' ); } @@ -2821,11 +2820,29 @@ public function testAddSubscriberToFormByEmailWithReferrerUTMParams() ); // Assert referrer data set for form subscriber. - $this->assertFormSubscriberHasReferrer( - formID: (int) $_ENV['CONVERTKIT_API_FORM_ID'], - subscriberID: $subscriber->subscriber->id, - referrer: 'https://mywebsite.com/bfpromo/', - referrerUTMParams: $referrerUTMParams + $this->assertEquals( + $result->subscriber->referrer, + $referrer + ); + $this->assertEquals( + $result->subscriber->referrer_utm_parameters->source, + $referrerUTMParams['utm_source'] + ); + $this->assertEquals( + $result->subscriber->referrer_utm_parameters->medium, + $referrerUTMParams['utm_medium'] + ); + $this->assertEquals( + $result->subscriber->referrer_utm_parameters->campaign, + $referrerUTMParams['utm_campaign'] + ); + $this->assertEquals( + $result->subscriber->referrer_utm_parameters->term, + $referrerUTMParams['utm_term'] + ); + $this->assertEquals( + $result->subscriber->referrer_utm_parameters->content, + $referrerUTMParams['utm_content'] ); } @@ -2921,10 +2938,9 @@ public function testAddSubscriberToFormWithReferrer() $this->assertEquals(get_object_vars($result->subscriber)['id'], $subscriber->subscriber->id); // Assert referrer data set for form subscriber. - $this->assertFormSubscriberHasReferrer( - formID: (int) $_ENV['CONVERTKIT_API_FORM_ID'], - subscriberID: $subscriber->subscriber->id, - referrer: 'https://mywebsite.com/bfpromo/' + $this->assertEquals( + $result->subscriber->referrer, + 'https://mywebsite.com/bfpromo/' ); } @@ -2969,11 +2985,29 @@ public function testAddSubscriberToFormWithReferrerUTMParams() $this->assertEquals(get_object_vars($result->subscriber)['id'], $subscriber->subscriber->id); // Assert referrer data set for form subscriber. - $this->assertFormSubscriberHasReferrer( - formID: (int) $_ENV['CONVERTKIT_API_FORM_ID'], - subscriberID: $subscriber->subscriber->id, - referrer: 'https://mywebsite.com/bfpromo/', - referrerUTMParams: $referrerUTMParams + $this->assertEquals( + $result->subscriber->referrer, + $referrer + ); + $this->assertEquals( + $result->subscriber->referrer_utm_parameters->source, + $referrerUTMParams['utm_source'] + ); + $this->assertEquals( + $result->subscriber->referrer_utm_parameters->medium, + $referrerUTMParams['utm_medium'] + ); + $this->assertEquals( + $result->subscriber->referrer_utm_parameters->campaign, + $referrerUTMParams['utm_campaign'] + ); + $this->assertEquals( + $result->subscriber->referrer_utm_parameters->term, + $referrerUTMParams['utm_term'] + ); + $this->assertEquals( + $result->subscriber->referrer_utm_parameters->content, + $referrerUTMParams['utm_content'] ); } @@ -5357,32 +5391,4 @@ private function assertPaginationExists($result) $this->assertArrayHasKey('end_cursor', $pagination); $this->assertArrayHasKey('per_page', $pagination); } - - /** - * Helper method to assert a form subscriber has the given referrer. - * - * @since 2.0.1 - */ - private function assertFormSubscriberHasReferrer($formID, $subscriberID, $referrer, $referrerUTMParams = false) - { - // Get form subscribers. - $subscribers = $this->api->get_form_subscriptions( - form_id: $formID - ); - - // Find subscriber. - foreach ($subscribers->subscribers as $formSubscriber) { - if ($formSubscriber->id === $subscriberID) { - // Assert subscriber has correct referrer. - $this->assertEquals( - $formSubscriber->referrer, - $referrer . ($referrerUTMParams ? '?' . http_build_query($referrerUTMParams) : '') - ); - return; - } - } - - // If here, subscriber not found. - $this->assertTrue(false); - } } From 98895dc804274264ab3fc6f572535e684c9f391d Mon Sep 17 00:00:00 2001 From: Tim Carr Date: Wed, 4 Dec 2024 17:14:01 +0800 Subject: [PATCH 16/17] Coding standards --- src/ConvertKit_API.php | 1 - 1 file changed, 1 deletion(-) diff --git a/src/ConvertKit_API.php b/src/ConvertKit_API.php index cb61e6e..24148c1 100644 --- a/src/ConvertKit_API.php +++ b/src/ConvertKit_API.php @@ -144,7 +144,6 @@ private function create_log(string $message) '^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,3})^', // @phpstan-ignore-next-line - see https://github.com/phpstan/phpstan/issues/10396 function ($matches) { - // @phpstan-ignore-line return preg_replace('/\B[^@.]/', '*', $matches[0]); }, $message From 710802c9ed25c0eb71f23066c2b574e40c1d1159 Mon Sep 17 00:00:00 2001 From: Tim Carr Date: Wed, 4 Dec 2024 17:14:44 +0800 Subject: [PATCH 17/17] Bump to 2.1.0 for next release --- src/ConvertKit_API.php | 2 +- tests/ConvertKitAPITest.php | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/src/ConvertKit_API.php b/src/ConvertKit_API.php index 24148c1..25c843a 100644 --- a/src/ConvertKit_API.php +++ b/src/ConvertKit_API.php @@ -25,7 +25,7 @@ class ConvertKit_API * * @var string */ - public const VERSION = '2.0.1'; + public const VERSION = '2.0.0'; /** * Debug diff --git a/tests/ConvertKitAPITest.php b/tests/ConvertKitAPITest.php index 3692114..3ba4191 100644 --- a/tests/ConvertKitAPITest.php +++ b/tests/ConvertKitAPITest.php @@ -2738,7 +2738,7 @@ public function testAddSubscriberToFormByEmail() * Test that add_subscriber_to_form_by_email() returns the expected data * when a referrer is specified. * - * @since 2.0.1 + * @since 2.1.0 * * @return void */ @@ -2779,7 +2779,7 @@ public function testAddSubscriberToFormByEmailWithReferrer() * Test that add_subscriber_to_form_by_email() returns the expected data * when a referrer is specified that includes UTM parameters. * - * @since 2.0.1 + * @since 2.1.0 * * @return void */ @@ -2911,7 +2911,7 @@ public function testAddSubscriberToForm() * Test that add_subscriber_to_form() returns the expected data * when a referrer is specified. * - * @since 2.0.1 + * @since 2.1.0 * * @return void */ @@ -2948,7 +2948,7 @@ public function testAddSubscriberToFormWithReferrer() * Test that add_subscriber_to_form() returns the expected data * when a referrer is specified that includes UTM parameters. * - * @since 2.0.1 + * @since 2.1.0 * * @return void */