diff --git a/app/views/admin/configs/show.html.erb b/app/views/admin/configs/show.html.erb index 200ccc85b..091a18619 100644 --- a/app/views/admin/configs/show.html.erb +++ b/app/views/admin/configs/show.html.erb @@ -633,10 +633,36 @@ <% end %> <% end %> + <%= render "form_submission", f: f %> + + + + <% end %> + + <%= form_for(SiteConfig.new, url: admin_config_path, html: { data: { testid: "emailDigestSectionForm" } }) do |f| %> +
+ <%= render partial: "admin/shared/card_header", + locals: { + header: "Email digest frequency", + state: "collapse", + target: "emailDigestBodyContainer", + expanded: false + } %> +
+
+
+ <%= admin_config_label :periodic_email_digest %> + <%= admin_config_description Constants::SiteConfig::DETAILS[:periodic_email_digest][:description] %> + <%= f.number_field :periodic_email_digest, + class: "crayons-textfield", + value: SiteConfig.periodic_email_digest, + placeholder: Constants::SiteConfig::DETAILS[:periodic_email_digest][:placeholder] %> +
<%= render "form_submission", f: f %>
+
<% end %> <%= form_for(SiteConfig.new, url: admin_config_path) do |f| %> diff --git a/cypress/integration/adminFlows/config/emailDigestFrequencySection.js b/cypress/integration/adminFlows/config/emailDigestFrequencySection.js new file mode 100644 index 000000000..5f068c932 --- /dev/null +++ b/cypress/integration/adminFlows/config/emailDigestFrequencySection.js @@ -0,0 +1,46 @@ +describe('Email digest frequency Section', () => { + beforeEach(() => { + cy.testSetup(); + cy.fixture('users/adminUser.json').as('user'); + + cy.get('@user').then((user) => { + cy.loginUser(user); + }); + }); + + describe('email digency frequency settings', () => { + it('cam change the frequency', () => { + cy.get('@user').then(({ username }) => { + cy.visit('/admin/config'); + cy.findByTestId('emailDigestSectionForm').as('emailDigestSectionForm'); + + cy.get('@emailDigestSectionForm') + .findByText('Email digest frequency') + .click(); + + cy.get('@emailDigestSectionForm') + .get('#site_config_periodic_email_digest') + .clear() + .type('42'); + + cy.get('@emailDigestSectionForm') + .findByPlaceholderText('Confirmation text') + .type( + `My username is @${username} and this action is 100% safe and appropriate.`, + ); + + cy.get('@emailDigestSectionForm') + .findByText('Update Site Configuration') + .click(); + + cy.url().should('contains', '/admin/config'); + + cy.findByText('Site configuration was successfully updated.').should( + 'be.visible', + ); + + cy.get('#site_config_periodic_email_digest').should('have.value', '42'); + }); + }); + }); +});