]> source.dussan.org Git - sonarqube.git/commitdiff
Component Viewer Tests: different filters
authorStas Vilchik <vilchiks@gmail.com>
Mon, 28 Jul 2014 11:53:25 +0000 (13:53 +0200)
committerStas Vilchik <vilchiks@gmail.com>
Mon, 28 Jul 2014 12:43:41 +0000 (14:43 +0200)
server/sonar-web/src/main/js/tests/e2e/tests/component-viewer-coverage-spec.js [new file with mode: 0644]
server/sonar-web/src/main/js/tests/e2e/tests/component-viewer-lines-filters-spec.js [new file with mode: 0644]

diff --git a/server/sonar-web/src/main/js/tests/e2e/tests/component-viewer-coverage-spec.js b/server/sonar-web/src/main/js/tests/e2e/tests/component-viewer-coverage-spec.js
new file mode 100644 (file)
index 0000000..fe39602
--- /dev/null
@@ -0,0 +1,116 @@
+var lib = require('../lib'),
+    testName = lib.testName('Component Viewer');
+
+lib.initMessages();
+lib.changeWorkingDirectory('component-viewer-spec');
+
+
+casper.test.begin(testName('Coverage Filters'), function (test) {
+  casper
+      .start(lib.buildUrl('component-viewer#component=component'), function () {
+        lib.setDefaultViewport();
+        lib.mockRequest('/api/l10n/index', '{}');
+        lib.mockRequestFromFile('/api/components/app', 'app.json');
+        lib.mockRequestFromFile('/api/sources/show', 'source.json');
+        lib.mockRequestFromFile('/api/resources', 'resources.json');
+        lib.mockRequestFromFile('/api/coverage/show', 'coverage.json');
+      })
+
+      .then(function () {
+        casper.waitForSelector('.component-viewer-source .row');
+      })
+
+      .then(function () {
+        casper.click('.js-header-tab-coverage');
+        casper.waitForSelector('.js-filter-lines-to-cover');
+      })
+
+      .then(function () {
+        casper.click('.js-filter-lines-to-cover');
+        casper.waitForSelector('.coverage-green', function () {
+          test.assertElementCount('.coverage-green', 149);
+          test.assertElementCount('.coverage-red', 51);
+          test.assertElementCount('.coverage-orange', 2);
+          test.assertElementCount('.component-viewer-source .row', 369);
+        });
+      })
+
+      .then(function () {
+        casper.click('.js-filter-uncovered-lines');
+        casper.waitForSelector('.coverage-green', function () {
+          test.assertElementCount('.coverage-green', 18);
+          test.assertElementCount('.coverage-red', 51);
+          test.assertElementCount('.coverage-orange', 0);
+          test.assertElementCount('.component-viewer-source .row', 136);
+        });
+      })
+
+      .then(function () {
+        casper.click('.js-filter-branches-to-cover');
+        casper.waitForSelector('.coverage-green', function () {
+          test.assertElementCount('.coverage-green', 26);
+          test.assertElementCount('.coverage-red', 4);
+          test.assertElementCount('.coverage-orange', 2);
+          test.assertElementCount('.component-viewer-source .row', 33);
+        });
+      })
+
+      .then(function () {
+        casper.click('.js-filter-uncovered-branches');
+        casper.waitForSelector('.coverage-green', function () {
+          test.assertElementCount('.coverage-green', 6);
+          test.assertElementCount('.coverage-red', 4);
+          test.assertElementCount('.coverage-orange', 2);
+          test.assertElementCount('.component-viewer-source .row', 13);
+        });
+      })
+
+      .run(function () {
+        test.done();
+      });
+});
+
+
+casper.test.begin(testName('Go From Coverage to Test File'), function (test) {
+  casper
+      .start(lib.buildUrl('component-viewer#component=component'), function () {
+        lib.setDefaultViewport();
+        lib.mockRequest('/api/l10n/index', '{}');
+        lib.mockRequestFromFile('/api/components/app', 'app.json');
+        lib.mockRequestFromFile('/api/sources/show', 'source.json');
+        lib.mockRequestFromFile('/api/coverage/show', 'coverage.json');
+        lib.mockRequestFromFile('/api/tests/test_cases', 'test-cases.json');
+      })
+
+      .then(function () {
+        casper.waitForSelector('.component-viewer-source .row');
+      })
+
+      .then(function () {
+        casper.click('.js-toggle-coverage');
+        casper.waitForSelector('.coverage-green', function () {
+          casper.click('.coverage-green .coverage-tests');
+          casper.waitForSelector('.bubble-popup', function () {
+            test.assertSelectorContains('.bubble-popup', 'src/test/java/org/sonar/batch/issue/IssueCacheTest.java');
+            test.assertSelectorContains('.bubble-popup', 'should_update_existing_issue');
+            test.assertSelectorContains('.bubble-popup li[title="should_update_existing_issue"]', '293');
+
+            lib.clearRequestMocks();
+            lib.mockRequestFromFile('/api/components/app', 'tests/app.json');
+            lib.mockRequestFromFile('/api/sources/show', 'tests/source.json');
+            lib.mockRequestFromFile('/api/resources', 'tests/resources.json');
+            lib.mockRequest('/api/coverage/show', '{}');
+            lib.mockRequestFromFile('/api/tests/show', 'tests/tests.json');
+            casper.click('.component-viewer-popup-test-file[data-key]');
+
+            casper.waitForSelector('.js-unit-test', function () {
+              test.assertElementCount('.js-unit-test', 2);
+            });
+          });
+        });
+      })
+
+      .run(function () {
+        test.done();
+      });
+});
diff --git a/server/sonar-web/src/main/js/tests/e2e/tests/component-viewer-lines-filters-spec.js b/server/sonar-web/src/main/js/tests/e2e/tests/component-viewer-lines-filters-spec.js
new file mode 100644 (file)
index 0000000..d2470cc
--- /dev/null
@@ -0,0 +1,40 @@
+var lib = require('../lib'),
+    testName = lib.testName('Component Viewer');
+
+lib.initMessages();
+lib.changeWorkingDirectory('component-viewer-spec');
+
+
+casper.test.begin(testName('Lines Filters'), function (test) {
+  casper
+      .start(lib.buildUrl('component-viewer#component=component'), function () {
+        lib.setDefaultViewport();
+        lib.mockRequest('/api/l10n/index', '{}');
+        lib.mockRequestFromFile('/api/components/app', 'app.json');
+        lib.mockRequestFromFile('/api/sources/show', 'source.json');
+        lib.mockRequestFromFile('/api/resources', 'resources.json');
+      })
+
+      .then(function () {
+        casper.waitForSelector('.component-viewer-source .row');
+      })
+
+      .then(function () {
+        casper.click('.js-header-tab-basic');
+        casper.waitForSelector('.js-filter-ncloc');
+      })
+
+      .then(function () {
+        casper.click('.js-filter-ncloc');
+        test.assertElementCount('.component-viewer-source .row', 451);
+      })
+
+      .then(function () {
+        casper.click('.js-filter-ncloc');
+        test.assertElementCount('.component-viewer-source .row', 520);
+      })
+
+      .run(function () {
+        test.done();
+      });
+});