Re-add Email digest frequency to admin config (#13437)

This commit is contained in:
Michael Kohl 2021-04-19 20:45:59 +07:00 committed by GitHub
parent 92d8bfe31a
commit 9d270fda16
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 72 additions and 0 deletions

View file

@ -633,10 +633,36 @@
</div>
<% end %>
<% end %>
<%= render "form_submission", f: f %>
</fieldset>
</div>
</div>
<% end %>
<%= form_for(SiteConfig.new, url: admin_config_path, html: { data: { testid: "emailDigestSectionForm" } }) do |f| %>
<div class="card mt-3">
<%= render partial: "admin/shared/card_header",
locals: {
header: "Email digest frequency",
state: "collapse",
target: "emailDigestBodyContainer",
expanded: false
} %>
<div id="emailDigestBodyContainer" class="card-body collapse hide" aria-labelledby="emailDigestBodyContainer">
<fieldset class="grid gap-4">
<div class="crayons-field">
<%= 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] %>
</div>
<%= render "form_submission", f: f %>
</fieldset>
</div>
</div>
<% end %>
<%= form_for(SiteConfig.new, url: admin_config_path) do |f| %>

View file

@ -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');
});
});
});
});