add more tests for subscription page

This commit is contained in:
Nuwan 2024-04-17 11:33:52 +05:30
parent 3ae52098c6
commit 703309aa65
1 changed files with 42 additions and 3 deletions

View File

@ -82,13 +82,33 @@ describe('User subscribe to a plan', () => {
remaining_monthly_play_time: null
}
}
});
}).as('getSubscription');
cy.intercept('GET', /\S+\/get_subscription/, {
statusCode: 200,
body: {
past_due: false,
has_billing_info: true,
plan_code: '',
desired_plan_code: '',
admin_overide_plan_code: null,
admin_overide_ends_at: null,
in_trial: false,
trial_ends_at: null,
subscription: {
},
subscription_rules: {
remaining_monthly_play_time: null
}
}
}).as('getSubscriptionWithNoPlan');
});
it('should display the current plan', () => {
cy.visit('/account/subscription');
cy.wait('@getSubscription')
// Assert that the current plan is displayed
cy.get('[data-testid=changeSubscriptionForm]').within($form => {
cy.get('label').contains('Subscription Plan');
@ -105,9 +125,28 @@ describe('User subscribe to a plan', () => {
});
});
it.only('should display the current plan when no plan', () => {
cy.visit('/account/subscription');
cy.wait('@getSubscriptionWithNoPlan')
// Assert that the current plan is displayed
cy.get('[data-testid=changeSubscriptionForm]').within($form => {
cy.get('label').contains('Subscription Plan');
cy.get('.select-plan__single-value').should('contain', 'Free ($0.00/month)');
cy.get('input[type=submit]').should('have.value', 'Save Plan').should('be.disabled');
});
cy.get('[data-testid=playtime]').within($playtime => {
cy.get('label').contains('You have unlimited play time');
});
cy.get('[data-testid=subscription-explanation]').within($expl => {
cy.get('.alert').contains('You are currently on the Free (monthly) plan.');
});
});
it('change plan', () => {
cy.visit('/account/subscription');
cy.wait('@getSubscription')
cy.get('[data-testid=changeSubscriptionForm]').within($form => {
cy.get('.select-plan__control').click();
cy.get('.select-plan__option').contains('Platinum ($19.99/month)').click();