Commit Graph

15216 Commits

Author SHA1 Message Date
Tim Abbott 1fbc3b508a test-migrations: Switch to --check from deprecated -e. 2017-02-10 16:08:13 -08:00
Umair Khan c14e981e00 testing: Conform runner to Django architecture.
In Django, TestSuite can contain objects of type TestSuite as well
along with TestCases. This is why the run method of TestSuite is
responsible for iterating over items of TestSuite.

This also gives us access to result object which is used by unittest
to gather information about testcases.
2017-02-10 16:01:43 -08:00
Umair Khan e5a16ceb0a testing: Use failfast instead of fatal_errors.
`failfast` has the same meaning as `fatal_errors` in Django's test
runner.
2017-02-10 16:01:43 -08:00
Umair Khan 7743f74180 Do not append to INSTRMENTED_DATA directly.
Use append_instrumentation_data to append data to the INSTRUMENTED_DATA.
This gives us a layer of abstraction when we need to add instrumentation
data from other modules e.g. while running tests in parallel mode.
2017-02-10 16:01:43 -08:00
Umair Khan 78768a2ba9 Add process_instrumentation_data function.
This function can be used to perform processing on instrumentation data.
For example, this can be used to send the instrumentation data gathered
in the test suite running in the child process to the parent process for
aggregation.
2017-02-10 16:01:43 -08:00
Umair Khan 00f8239563 Clean code of send_test_email command.
* Derive from sendtestemail command of Django.
* Remove unwanted imported.
* Allow test email to admin and managers.
2017-02-10 16:01:43 -08:00
Umair Khan ef0d2a4bb5 logging: Use django.server to filter 200 and 304.
Previously, we were monkey patching the runserver command
in zerver/management/commands/rundjango.py for this.
2017-02-10 15:55:17 -08:00
Tim Abbott 85fbdd6b2d emails: Remove old 'Keyboard Shortcuts' capitalization. 2017-02-10 15:18:41 -08:00
Tim Abbott 0e802c574d Fix Linux scrollbar issue in information overlays. 2017-02-10 15:18:41 -08:00
Tim Abbott ce880b0d0c hotkey: Fix incorrect return value from informational overlays.
In theory, whenever an event is handled, it should return true.
2017-02-10 15:18:41 -08:00
brockwhittaker 642dac27b9 Replace the modal footers with an exit button at top of overlay.
This replaces the bootstrap default modal footers that have a
[data-dismiss] button with an .exit button in the top section of the
overlay that is styled congruently to the current subscriptions page.
2017-02-10 15:18:41 -08:00
brockwhittaker 1a28564ed4 Switch information overlay to key-based toggle.
This switches the overlay to a key based system where it uses the
toggle keys to open the correct modals.
2017-02-10 15:18:41 -08:00
brockwhittaker 2ef8e425d1 Change information overlay to use toggle component.
This switches from a custom tab interface to the toggle component
layout.
2017-02-10 15:18:41 -08:00
brockwhittaker 47a3ce2d35 Seperate information overlay CSS into own file.
This takes the information overlay CSS and moves it from zulip.css to
informational-overlays.css to help separate out isolated components.
2017-02-10 15:18:41 -08:00
Brock Whittaker 1500e93092 Convert overlay modals to unified modal system.
This converts three modals:

1. Markdown Help
2. Keyword Shortcuts
3. Search Operators

Into a system in which they all appear in the same overlay now.
2017-02-10 15:18:41 -08:00
brockwhittaker c70de3ca83 Refactor components.css toggle to include more than two tabs.
This allows for the toggle component to have more than two option tabs.
2017-02-10 14:43:18 -08:00
brockwhittaker 2ea6eda785 Add keys to components.toggle.
This adds keys — unique non-human identifiers to the toggle component.
2017-02-10 14:43:18 -08:00
brockwhittaker 5fbf7de1cf Add usage notes on the component.toggle mechanism.
This adds usage notes and comments to the component.toggle class
to make it more readable and usable for those who are unaware with
the prototype of the class or how to create a new instance.
2017-02-10 14:43:18 -08:00
Rishi Gupta 19d1fc6223 stats: Pass user data to the frontend for messages sent over time. 2017-02-10 14:41:18 -08:00
Rishi Gupta 68a7f91022 stats: Add a fixed display order to summary charts.
API: Adds a "display_order" to the response, which is a suggested order of
importance for the clients or recipient types respectively.

frontend: Changes messages_sent_by_{client,recipient_type} to use a fixed
order for any given user.
2017-02-10 14:41:18 -08:00
Rishi Gupta cf3ae2eafe stats: Turn messages_sent_by_client into a bar chart.
Also includes a number of changes to messages_sent_by_recipient_type that
were convenient to do at the same time, since the two charts share a lot of
code.
2017-02-10 14:41:18 -08:00
Rishi Gupta e01f80bf93 stats.js: Move creation of pie traces into the populate functions.
In preparation for turning messages_sent_by_client into a bar chart.
This removes the "pie-specific" pieces from the functions used by
messages_sent_by_{client,type}.
2017-02-10 14:41:18 -08:00
Rishi Gupta ce89c64f43 stats.js: Move name_map computation to the backend. 2017-02-10 14:41:18 -08:00
Rishi Gupta 8ad7c96382 stats.js: Refactor trace variable to not be list of trace. 2017-02-10 14:41:18 -08:00
Rishi Gupta a1b1ffe1e4 analytics: Base default views end_time on FillState, not current time. 2017-02-10 14:41:07 -08:00
Rishi Gupta 6ab31d1bac analytics: Move time computation to later in get_chart_data. 2017-02-10 14:40:14 -08:00
Abhijeet Kaur b22e9a0dbf bug fix: Fix errors in "john" bot in contrib_bots.
Fix outdated code in "john.py" to use "OutputAdapter" module
in Chatterbot. Typecast Chatterbot response to string.
2017-02-10 06:44:03 -08:00
Abhijeet Kaur 87e8d9036f contrib_bots: Restructure bots to follow a consistent structure.
Now all the bots that are stored in contrib_bots are in the
same file/directory format.
The format is specified here #3427. Add tests.py file for encrypt_bot as well.
Fixes #3427.
2017-02-10 06:44:03 -08:00
Tim Abbott 92219aa3dd docs: Add a long document explaining the events system.
This is probably one of Zulip's most important systems, and thus worth
documenting carefully.
2017-02-10 01:17:15 -08:00
Tim Abbott 092bdc7645 docs: Update the casper docs based on recent debugging.
Having just found that a number of our casper tests were buggy because
they were using casper.waitForSelector and fixed those, this seemed
like a good opportunity to update the docs to recommend the selectors
that more faithfully do what developers expect them to.

While I was at it, I tried to make this a bit better organized, though
I think more work could be done on that front.
2017-02-09 23:35:11 -08:00
Tim Abbott d88c339cc4 casper: Use waitUntilVisible in toggle message editing tests. 2017-02-09 23:35:11 -08:00
Tim Abbott ed4f2452f2 casper: Use waitUntilVisible in realm creation tests. 2017-02-09 23:35:11 -08:00
Tim Abbott 89c515f8a5 casper: Use waitUntilVisible in narrow tests. 2017-02-09 23:35:11 -08:00
Tim Abbott 5b56fffc3c casper: Use waitUntilVisible in mention tests. 2017-02-09 23:35:11 -08:00
Tim Abbott 8ef3e7cde8 casper: Use waitUntilVisible in editing tests. 2017-02-09 23:35:11 -08:00
Tim Abbott 54883cafcc casper: Use waitUntilVisible in subscriptions tests. 2017-02-09 23:35:11 -08:00
Tim Abbott 2e290d3802 casper: Use waitUntilVisible in navigation tests. 2017-02-09 23:35:11 -08:00
Tim Abbott 532cfab846 casper: Use waitUntilVisible in settings tests. 2017-02-09 23:35:11 -08:00
Tim Abbott 1aac52d685 casper: Use waitUntilVisible in user deactivation tests. 2017-02-09 23:35:10 -08:00
Brock Whittaker 29dbb9e0b4 casper: Use waitUntilVisible and waitWhileVisible in admin tests.
This fixes a potential class of flakiness in the tests where they
interact with parts of the admin UI that aren't actually visible at
the moment via selectors, which probably doesn't test what we intend
to test properly.
2017-02-09 23:35:10 -08:00
Brock Whittaker 1143ed7219 redesign: Change /#settings and /#administration to an overlay.
This also adds a box-shadow to the #deactivate_self_modal so that it
looks similar to the old backdrop.
2017-02-09 23:35:10 -08:00
Tim Abbott 7a76f3dcc8 settings: Redesign the account settings template.
This is technically part of the settings page redesign in the next
commit, but it's probably useful to keep separate, since it touches
totally different code.
2017-02-09 23:33:28 -08:00
Tim Abbott 708c034d93 casper: Extract 13-user-deactivation.js from 10-admin.js.
For some reason, this section of tests basically totally breaks
whatever test runs after it.  To minimize the impact of that problem,
we move it to a separate file.
2017-02-09 23:32:37 -08:00
Tim Abbott d69c40eb75 casper: Clean up some admin casper tests.
This adds missing casper.then(), some waits for relevant selectors,
and tightens some of the selectors to be more precise.
2017-02-09 23:32:26 -08:00
Brock Whittaker 2dd36aa422 Make subscriptions page responsive.
This makes the subscriptions page responsive by having the settings tab
slide over when a user taps on a stream, giving almost the whole screen
to view the settings.
2017-02-09 14:01:00 -08:00
Abhijeet Kaur ef72cf5c7c bug fix: Fix wikipedia bot in case no results are found.
Incorrect Index access in wikipedia.py resulted in IndexError and
wikipedia bot to crash for few queries. This causes the bug to be fixed.
Replaced url to avoid 2 redirects and enhance performance.
Fixes: #3508.
2017-02-09 12:20:51 -08:00
Tim Abbott 699257c3bf casper: Extract extended editing tests out of 10-admin.js.
The casper test file 10-admin.js had gotten to be super huge, so a
split is a good idea regardless, but this should also make quaranteen
for tests broken by the settings redesign more manageable.
2017-02-09 00:53:24 -08:00
Tim Abbott 4857f3c2d2 casper: Use casper.then consistently in realm filters tests. 2017-02-09 00:34:56 -08:00
Tim Abbott 26ae2a69a9 casper: Clean up default stream tests a bit more.
This users casper.then in a more reasonable way, and also moves the
stream_name definition to the section where it's used.
2017-02-09 00:34:04 -08:00
Tim Abbott b8df71c360 subs: Use antialiased fonts in subscriptions page. 2017-02-08 23:28:11 -08:00