aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.cypress/cypress/integration/duplicates.js53
-rw-r--r--.cypress/cypress/integration/regressions.js34
-rw-r--r--templates/web/base/common_scripts.html2
3 files changed, 54 insertions, 35 deletions
diff --git a/.cypress/cypress/integration/duplicates.js b/.cypress/cypress/integration/duplicates.js
new file mode 100644
index 000000000..988a6a602
--- /dev/null
+++ b/.cypress/cypress/integration/duplicates.js
@@ -0,0 +1,53 @@
+describe('Duplicate tests', function() {
+ it('does not try and fetch duplicates which will not get shown', function() {
+ cy.server();
+ cy.route('/report/new/ajax*').as('report-ajax');
+ cy.request({
+ method: 'POST',
+ url: '/auth?r=/',
+ form: true,
+ body: { username: 'admin@example.org', password_sign_in: 'password' }
+ });
+ cy.visit('http://fixmystreet.localhost:3001/report/1');
+ cy.contains('Report another problem here').click();
+ cy.wait('@report-ajax');
+ cy.get('[id=category_group]').select('Potholes');
+ cy.wait(500);
+ cy.get('[name=title').should('be.visible');
+ });
+
+ it('hides everything when duplicate suggestions are shown', function() {
+ cy.server();
+ cy.route('/report/new/ajax*').as('report-ajax');
+ cy.visit('http://borsetshire.localhost:3001/_test/setup/regression-duplicate-hide'); // Server-side setup
+ cy.visit('http://borsetshire.localhost:3001/report/1');
+ cy.contains('Report another problem here').click();
+ cy.wait('@report-ajax');
+ cy.get('[id=category_group]').select('Licensing');
+ cy.get('[id=subcategory_Licensing]').select('Skips');
+ cy.get('.extra-category-questions').should('not.be.visible');
+ cy.visit('http://borsetshire.localhost:3001/_test/teardown/regression-duplicate-hide');
+ });
+
+ it('does not show duplicate suggestions when signing in during reporting', function() {
+ cy.server();
+ cy.route('/report/new/ajax*').as('report-ajax');
+ cy.route('/around/nearby*').as('nearby-ajax');
+ cy.visit('http://borsetshire.localhost:3001/report/1');
+ cy.contains('Report another problem here').click();
+ cy.wait('@report-ajax');
+ cy.get('[id=category_group]').select('Potholes');
+ cy.wait('@nearby-ajax');
+ cy.get('.js-hide-duplicate-suggestions:first').should('be.visible').click();
+ cy.get('[name=title]').type('Title');
+ cy.get('[name=detail]').type('Detail');
+ cy.get('.js-new-report-user-show').click();
+ cy.get('.js-new-report-show-sign-in').should('be.visible').click();
+ cy.get('#form_username_sign_in').type('user@example.org');
+ cy.get('[name=password_sign_in]').type('password');
+ cy.get('[name=password_sign_in]').parents('form').submit();
+ cy.get('#map_sidebar').should('contain', 'check and confirm your details');
+ cy.get('#js-duplicate-reports').should('not.exist');
+ });
+
+});
diff --git a/.cypress/cypress/integration/regressions.js b/.cypress/cypress/integration/regressions.js
index 73f6900a6..f9fedc3eb 100644
--- a/.cypress/cypress/integration/regressions.js
+++ b/.cypress/cypress/integration/regressions.js
@@ -92,38 +92,4 @@ describe('Regression tests', function() {
cy.get('#form_start_date').should('have.value', '2019-01-01');
});
- it('hides everything when duplicate suggestions are shown', function() {
- cy.server();
- cy.route('/report/new/ajax*').as('report-ajax');
- cy.visit('http://borsetshire.localhost:3001/_test/setup/regression-duplicate-hide'); // Server-side setup
- cy.visit('http://borsetshire.localhost:3001/report/1');
- cy.contains('Report another problem here').click();
- cy.wait('@report-ajax');
- cy.get('[id=category_group]').select('Licensing');
- cy.get('[id=subcategory_Licensing]').select('Skips');
- cy.get('.extra-category-questions').should('not.be.visible');
- cy.visit('http://borsetshire.localhost:3001/_test/teardown/regression-duplicate-hide');
- });
-
- it('does not show duplicate suggestions when signing in during reporting', function() {
- cy.server();
- cy.route('/report/new/ajax*').as('report-ajax');
- cy.route('/around/nearby*').as('nearby-ajax');
- cy.visit('http://borsetshire.localhost:3001/report/1');
- cy.contains('Report another problem here').click();
- cy.wait('@report-ajax');
- cy.get('[id=category_group]').select('Potholes');
- cy.wait('@nearby-ajax');
- cy.get('.js-hide-duplicate-suggestions:first').should('be.visible').click();
- cy.get('[name=title]').type('Title');
- cy.get('[name=detail]').type('Detail');
- cy.get('.js-new-report-user-show').click();
- cy.get('.js-new-report-show-sign-in').should('be.visible').click();
- cy.get('#form_username_sign_in').type('user@example.org');
- cy.get('[name=password_sign_in]').type('password');
- cy.get('[name=password_sign_in]').parents('form').submit();
- cy.get('#map_sidebar').should('contain', 'check and confirm your details');
- cy.get('#js-duplicate-reports').should('not.exist');
- });
-
});
diff --git a/templates/web/base/common_scripts.html b/templates/web/base/common_scripts.html
index 56b2e6d2e..7df8feaa0 100644
--- a/templates/web/base/common_scripts.html
+++ b/templates/web/base/common_scripts.html
@@ -39,7 +39,7 @@ IF c.user_exists AND (c.user.from_body OR c.user.is_superuser);
version('/jslib/jquery-1.7.2.min.js'),
version('/cobrands/fixmystreet/staff.js')
);
- IF bodyclass.match('mappage');
+ IF bodyclass.match('mappage') AND c.cobrand.suggest_duplicates AND NOT login_success AND NOT oauth_need_email;
scripts.push(
version('/js/duplicates.js')
);