Skip to content

Commit 5dd3d01

Browse files
committed
Check result of form subscribe instead of separate API query in tests
1 parent 513e73c commit 5dd3d01

File tree

1 file changed

+52
-46
lines changed

1 file changed

+52
-46
lines changed

tests/ConvertKitAPITest.php

Lines changed: 52 additions & 46 deletions
Original file line numberDiff line numberDiff line change
@@ -2769,10 +2769,9 @@ public function testAddSubscriberToFormByEmailWithReferrer()
27692769
);
27702770

27712771
// Assert referrer data set for form subscriber.
2772-
$this->assertFormSubscriberHasReferrer(
2773-
formID: (int) $_ENV['CONVERTKIT_API_FORM_ID'],
2774-
subscriberID: $subscriber->subscriber->id,
2775-
referrer: 'https://mywebsite.com/bfpromo/'
2772+
$this->assertEquals(
2773+
$result->subscriber->referrer,
2774+
'https://mywebsite.com/bfpromo/'
27762775
);
27772776
}
27782777

@@ -2821,11 +2820,29 @@ public function testAddSubscriberToFormByEmailWithReferrerUTMParams()
28212820
);
28222821

28232822
// Assert referrer data set for form subscriber.
2824-
$this->assertFormSubscriberHasReferrer(
2825-
formID: (int) $_ENV['CONVERTKIT_API_FORM_ID'],
2826-
subscriberID: $subscriber->subscriber->id,
2827-
referrer: 'https://mywebsite.com/bfpromo/',
2828-
referrerUTMParams: $referrerUTMParams
2823+
$this->assertEquals(
2824+
$result->subscriber->referrer,
2825+
$referrer
2826+
);
2827+
$this->assertEquals(
2828+
$result->subscriber->referrer_utm_parameters->source,
2829+
$referrerUTMParams['utm_source']
2830+
);
2831+
$this->assertEquals(
2832+
$result->subscriber->referrer_utm_parameters->medium,
2833+
$referrerUTMParams['utm_medium']
2834+
);
2835+
$this->assertEquals(
2836+
$result->subscriber->referrer_utm_parameters->campaign,
2837+
$referrerUTMParams['utm_campaign']
2838+
);
2839+
$this->assertEquals(
2840+
$result->subscriber->referrer_utm_parameters->term,
2841+
$referrerUTMParams['utm_term']
2842+
);
2843+
$this->assertEquals(
2844+
$result->subscriber->referrer_utm_parameters->content,
2845+
$referrerUTMParams['utm_content']
28292846
);
28302847
}
28312848

@@ -2921,10 +2938,9 @@ public function testAddSubscriberToFormWithReferrer()
29212938
$this->assertEquals(get_object_vars($result->subscriber)['id'], $subscriber->subscriber->id);
29222939

29232940
// Assert referrer data set for form subscriber.
2924-
$this->assertFormSubscriberHasReferrer(
2925-
formID: (int) $_ENV['CONVERTKIT_API_FORM_ID'],
2926-
subscriberID: $subscriber->subscriber->id,
2927-
referrer: 'https://mywebsite.com/bfpromo/'
2941+
$this->assertEquals(
2942+
$result->subscriber->referrer,
2943+
'https://mywebsite.com/bfpromo/'
29282944
);
29292945
}
29302946

@@ -2969,11 +2985,29 @@ public function testAddSubscriberToFormWithReferrerUTMParams()
29692985
$this->assertEquals(get_object_vars($result->subscriber)['id'], $subscriber->subscriber->id);
29702986

29712987
// Assert referrer data set for form subscriber.
2972-
$this->assertFormSubscriberHasReferrer(
2973-
formID: (int) $_ENV['CONVERTKIT_API_FORM_ID'],
2974-
subscriberID: $subscriber->subscriber->id,
2975-
referrer: 'https://mywebsite.com/bfpromo/',
2976-
referrerUTMParams: $referrerUTMParams
2988+
$this->assertEquals(
2989+
$result->subscriber->referrer,
2990+
$referrer
2991+
);
2992+
$this->assertEquals(
2993+
$result->subscriber->referrer_utm_parameters->source,
2994+
$referrerUTMParams['utm_source']
2995+
);
2996+
$this->assertEquals(
2997+
$result->subscriber->referrer_utm_parameters->medium,
2998+
$referrerUTMParams['utm_medium']
2999+
);
3000+
$this->assertEquals(
3001+
$result->subscriber->referrer_utm_parameters->campaign,
3002+
$referrerUTMParams['utm_campaign']
3003+
);
3004+
$this->assertEquals(
3005+
$result->subscriber->referrer_utm_parameters->term,
3006+
$referrerUTMParams['utm_term']
3007+
);
3008+
$this->assertEquals(
3009+
$result->subscriber->referrer_utm_parameters->content,
3010+
$referrerUTMParams['utm_content']
29773011
);
29783012
}
29793013

@@ -5357,32 +5391,4 @@ private function assertPaginationExists($result)
53575391
$this->assertArrayHasKey('end_cursor', $pagination);
53585392
$this->assertArrayHasKey('per_page', $pagination);
53595393
}
5360-
5361-
/**
5362-
* Helper method to assert a form subscriber has the given referrer.
5363-
*
5364-
* @since 2.0.1
5365-
*/
5366-
private function assertFormSubscriberHasReferrer($formID, $subscriberID, $referrer, $referrerUTMParams = false)
5367-
{
5368-
// Get form subscribers.
5369-
$subscribers = $this->api->get_form_subscriptions(
5370-
form_id: $formID
5371-
);
5372-
5373-
// Find subscriber.
5374-
foreach ($subscribers->subscribers as $formSubscriber) {
5375-
if ($formSubscriber->id === $subscriberID) {
5376-
// Assert subscriber has correct referrer.
5377-
$this->assertEquals(
5378-
$formSubscriber->referrer,
5379-
$referrer . ($referrerUTMParams ? '?' . http_build_query($referrerUTMParams) : '')
5380-
);
5381-
return;
5382-
}
5383-
}
5384-
5385-
// If here, subscriber not found.
5386-
$this->assertTrue(false);
5387-
}
53885394
}

0 commit comments

Comments
 (0)