diff --git a/services/web/test/frontend/features/subscription/components/dashboard/premium-features-link.test.tsx b/services/web/test/frontend/features/subscription/components/dashboard/premium-features-link.test.tsx
index b8a6713218..6e392ec120 100644
--- a/services/web/test/frontend/features/subscription/components/dashboard/premium-features-link.test.tsx
+++ b/services/web/test/frontend/features/subscription/components/dashboard/premium-features-link.test.tsx
@@ -1,9 +1,14 @@
import { expect } from 'chai'
import sinon from 'sinon'
-import { fireEvent, render, screen, within } from '@testing-library/react'
+import { fireEvent, screen, within } from '@testing-library/react'
import * as eventTracking from '../../../../../../frontend/js/infrastructure/event-tracking'
import PremiumFeaturesLink from '../../../../../../frontend/js/features/subscription/components/dashboard/premium-features-link'
import * as useLocationModule from '../../../../../../frontend/js/shared/hooks/use-location'
+import {
+ cleanUpContext,
+ renderWithSubscriptionDashContext,
+} from '../../helpers/render-with-subscription-dash-context'
+import { annualActiveSubscription } from '../../fixtures/subscriptions'
describe('', function () {
const originalLocation = window.location
@@ -16,7 +21,6 @@ describe('', function () {
]
beforeEach(function () {
- window.metaAttributesCache = new Map()
sendMBSpy = sinon.spy(eventTracking, 'sendMB')
this.locationStub = sinon.stub(useLocationModule, 'useLocation').returns({
assign: sinon.stub(),
@@ -25,24 +29,32 @@ describe('', function () {
})
afterEach(function () {
- window.metaAttributesCache = new Map()
sendMBSpy.restore()
this.locationStub.restore()
+ cleanUpContext()
+ })
+
+ describe('without an active valid subscription', function () {
+ it('returns an empty container', function () {
+ const { container } = renderWithSubscriptionDashContext(
+
+ )
+ expect(container.firstChild).to.be.null
+ })
})
for (const variant of variants) {
describe(`${variant.name} variant`, function () {
- beforeEach(function () {
- window.metaAttributesCache.set('ol-splitTestVariants', {
- 'features-page': variant.name,
- })
- })
- afterEach(function () {
- window.metaAttributesCache.delete('ol-splitTestVariants')
- })
-
it('renders the premium features link and sends analytics event', function () {
- render()
+ renderWithSubscriptionDashContext(, {
+ metaTags: [
+ { name: 'ol-subscription', value: annualActiveSubscription },
+ {
+ name: 'ol-splitTestVariants',
+ value: { 'features-page': variant.name },
+ },
+ ],
+ })
const premiumText = screen.getByText('Get the most out of your', {
exact: false,
})