Commit graph

87 commits

Author SHA1 Message Date
Alex
e40c28117b
Search ClassifiedListings backend code (#6348)
* Add search methods

* Add spec for new search methods

* Add QueryBuilder for ClassifiedListing

* Add QueryBuilder spec for ClassifiedListing

* Refact build_query in ClassifiedListings

* Refactor logic for filter and query conditions

* Refactor index_documents to helper_method

* Update elasticsearch helper for single objects

* Refactor specs from stubbing to record update

* Update search and specs for query_builder

* Refactor set_size

* Update Search::ClassifiedListing

- Add DEFAULT_PAGE constant
- ADD DEFAULT_PER_PAGE constant
- Add pagination

* Fix paging

* Add pagination specs

* Remove manual Array conversion for Array.wrap()

* Change guard clause to .key? for readability
2020-02-28 10:51:33 -05:00
rhymes
168f5c597c
Bump Twitter to 7.0 and refactor TwitterBot (#6246) [deploy] 2020-02-24 08:34:41 -05:00
rhymes
207621f739
Ignore User.organization_id (#6203)
* Ignore User.organization_id

* Fix specs that are still using organization_id
2020-02-21 09:51:49 -05:00
rhymes
f3c2adfa45
Routine rubocop fixes (#6138) 2020-02-18 11:21:42 -05:00
Molly Struve
65eba740ab
Document DataUpdateScripts, Add to Deploy Process, Add Development Check (#6068) [deploy] 2020-02-14 11:45:27 -05:00
Molly Struve
0bfbd9bb1f
Set Up Framework For Running Data Update Scripts (#6025) [deploy] 2020-02-13 10:48:23 -05:00
rhymes
7cda85d644 Fix error handling bugs in stackexchange tag (#5490) 2020-01-20 14:43:25 -05:00
gverger
c7de0d762b Add let_it_be_readonly to avoid updating variables (#5407)
With let_it_be, we define variables that are created for the whole
context. In case we update them in an example, there might be a
discrepancy between the object and its value in the database, since the
database is cleaned between examples, but not the object itself.

This is what happened here with the `article` object. In one of the
tests, we update its organization, and in another, we reupdate it. The
problem is that the `article` object still thinks it has an
organization, but it has been cleaned in the database. So setting the
same organization id to the object doesn't trigger the SQL query, and
the article in the database still doesn't have an organization attached.

One solution is to use `reload: true` as a parameter of `let_it_be`: it
will reload the object from the database at the beginning of each test. To
make sure we don't have other dormant traps like this one, what I
propose is to either have `reload: true`, or to have the object
readonly to avoid getting to a difference between the object and its
database value.
2020-01-16 10:53:30 -05:00
rhymes
fec196ffe3 Add wait_for_javascript to flaky system tests (#5405) 2020-01-08 13:47:08 -05:00
rhymes
97d188264f Add worker: option to sidekiq_enqueued_jobs to return also jobs by worker (#5334) 2020-01-03 14:54:44 -05:00
rhymes
73188cd836 Sidekiq: add test helpers (#5326) 2020-01-02 08:39:40 -05:00
Molly Struve
39033e33d9 Flaky Spec Fix: Ensure submit requests finish before checking status of user (#5265) 2019-12-27 14:47:08 -05:00
Andrew Sverdrup
2af033fca9 Add Next Tech Liquid Tag (#4958) [deploy]
* Add liquid tag for Next Tech

* Add liquid tag for Next Tech

* Use project share URL in liquid tag.

* Update docs and specs with share token URL.
2019-12-10 15:19:30 -05:00
Molly Struve
834eb51e98
Replace Airbrake with Honeybadger (#5007) [deploy] 2019-12-05 11:29:51 -06:00
Mac Siri
2ee4e703eb
Remove disable_indented_code_blocks (#4988) [deploy]
We have decided enable indented-code-block because it is an expected
markdown feature. The trade-off here is that backticks will cause
rendering issues in codeblock.
2019-12-03 13:04:53 -05:00
Anthony Musyoki
2537670968 Refactor raise_error(specific_error) expectation (#4912)
* Refactor raise_error(specific_error) expectation

The full RSpec warining is
```
WARNING: Using `expect { }.not_to raise_error(SpecificErrorClass)` risks false positives,
since literally any other error would cause the expectation to pass,
including those raised by Ruby (e.g. NoMethodError, NameError and ArgumentError),
meaning the code you are intending to test may not even get reached.
Instead consider using `expect { }.not_to raise_error` or `expect { }.to raise_error(DifferentSpecificErrorClass)`.
```

* Refactor jsitor tests to test behaviour

As pointed out by @rhymes, the previous tests were not
testing actual behaviour. This is an attempt at improving the tests.
2019-11-26 08:46:33 -05:00
rohan-techfreak
bf867a624a Add lazy loading to iframes (#4673) 2019-11-18 18:31:56 -05:00
aRtoo
9b5b2ee98d Redo JSitor (#4762) [deploy]
* Redo JSitor
- can now accept full url with params
- added more test
- redo jsitor guide

* Jsitor redo guide
- moved below JSFiddle
- add more instructions

* Refactor JSitor liquid tag
- Change the iframe size to 400
- can accept ID with or without params
- added ID_REGEX to check for id
- add more information on error
- added more test
  - test for id with invalid link
  - test for id with params
  - test for id without params

* Refactor
- simplified regex, removed unnecessary groupings
- changed method name from link_valid? to validate_link
- changed error message
2019-11-14 09:17:47 -05:00
aRtoo
b421ad908b Add JSitor liquid tag (#4657) [deploy]
* Request change
- Added specific error message
- changed jsitor to JSitor
- changed JSITOR_URL constant to URL_REGEXP
- added space between URL_REGEXP and initialize method

* created jsitor liquid tag
- created a jsitor_tag.rb for jsitor liquid core
- created partial (_jsitor.html.erb) for jsitor liquid tag

* created test for jsitor liquid tag
- created spec for jsitor liquid tag
- generated jsitor_liquid_tag.approved.html

* added suggestion change
- removed regex
- change the full link to embeddable id
- removed dead code(methods) due to change logic
- removed checking of link since embeddable id will be parse as string
- removed parts of the test
- change the guide explanation

* Added lazy loading on iframe
2019-11-05 09:43:52 -05:00
Huynh Tan
b6a731276e Fix answers from other stackexchange sites have the wrong link (#4615) [ci skip] 2019-10-30 15:01:29 -04:00
rhymes
d6d251e9ce Remove unused spec support BackgroundJobs (#4464) [ci skip] 2019-10-24 16:49:45 -04:00
rhymes
d61f8a36a6 Remove Chrome version from Travis.yml (#4555) [ci skip] 2019-10-23 09:15:23 -04:00
Tudor Pavel
d54442f17e Bump Chrome Driver version to fix Travis CI builds (#4554) [ci skip] 2019-10-23 08:20:31 -04:00
John Curcio
bfef186684 Fix medium liquid tags scraping (#3485) (#4120)
* Scrape medium tag information using page meta tags (#3485)

* Add tests for medium liquid tag service
2019-10-01 10:29:25 -04:00
Jean-Michel Fayard
4af02c8a48 Support for runnable kotlin snippets #3776 (#3801) 2019-08-29 16:06:17 -04:00
John Curcio
0f2ae535c8 Removes temp .received file (#3731) (#3821) 2019-08-25 12:30:27 -04:00
Ben Halpern
3443fdf2bd
Create endpoint for liquid tag embed (#3813) 2019-08-23 17:42:04 -04:00
Bolarinwa Balogun
41aff162cc Allow upload of multiple images at a time (#3599)
* Allow upload of multiple images at a time

* Update schema.rb
2019-08-18 15:03:14 -04:00
Andy Zhao
0f46b0deed Add Stack Exchange Liquid tag (#3637)
* Add Stack Exchange Liquid tag

* Add Stack Exchange/Overflow tag

* Convert to integers

* Add better error handling

* Make all links open in new tab

* Adjust names and refactor a bit

* Use key for every API call

* Add new lines to end of svg files

* Add better error handling

* Fix edge case where input is not numeric

* Finalize Stackexhange tag design and functionality

* Fix css typo

* Update snapshots

* Fix snapshot back
2019-08-14 15:01:47 -04:00
Bolarinwa Balogun
f1492fa2bd Resolve error with code blocks in numbered lists (#3633) 2019-08-07 10:37:59 -04:00
Mac Siri
5f85250220
Update to Chromedriver 76 (#3587) [ci skip] 2019-07-30 17:58:21 -04:00
dependabot-preview[bot]
ebefca6a8a Bump capybara from 3.26.0 to 3.27.0 (#3556) 2019-07-30 16:47:08 -04:00
Anna Buianova
135d1ddf2b Don't check url and create podcast episode when there's no enclosure url (#3460)
* Don't check url and create podcast episode when there's no enclosure url

* Keep a couple of records of podcast's rss for test
2019-07-12 12:54:14 -04:00
Anna Buianova
3d81753285 Rescue possible SSLError when fetching a podcast (#3374) 2019-07-03 10:36:36 -04:00
Anna Buianova
6395fe48e2 Moved podcast fixtures to their own folder (#3343) [ci skip] 2019-07-01 12:37:28 -04:00
dependabot-preview[bot]
9c6673adc4 Bump rouge from 3.3.0 to 3.4.1 (#3289) [ci skip]
* Bump rouge from 3.3.0 to 3.4.1

Bumps [rouge](https://github.com/jneen/rouge) from 3.3.0 to 3.4.1.
- [Release notes](https://github.com/jneen/rouge/releases)
- [Changelog](https://github.com/rouge-ruby/rouge/blob/master/CHANGELOG.md)
- [Commits](https://github.com/jneen/rouge/compare/v3.3.0...v3.4.1)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>

* Update approvals
2019-06-27 17:26:07 -04:00
Anna Buianova
bfa1bdc37f More specs and refactoring podcasts fetching (#3245)
* More specs and refactoring podcasts fetching

* Fixed PodcastFeed references in tests

* Pass podcast_id instead of podcast to CreateEpisode
2019-06-21 21:31:15 -04:00
Ben Halpern
df44cbd254
Change design of main feed CTA and remove from tag pages (#3050)
* Change design of main feed CTA and remove from tag pages (to prevent complexity)

* Lock Chromedriver to 74.0.3729.6

* Fix tests and modify reserved words (tack on)

* Removed less useful shared examples from rspec

* Remove references to file that no longer exists in test

* Remove unneeded tests
2019-06-05 14:33:22 -04:00
briwa
b35fc23a82 refactor(svgs): remove empty group tags (#3002)
* refactor(svgs): remove empty group tags

* fix(spec): update liquid tag twitter spec
2019-05-31 08:54:31 -04:00
Mac Siri
6d1638ed68 Unskip all skipped specs (#2941)
* Change all login_as to sign_in

* Unskip comment spec

* Create new specs

* Turn on Webdriver caching

* Set logger for Omniauth in test

* Update editor system spec

* Fix editor approval file

* Update video_controller

* Update TagAdjustmentUpdateService's spec

* Update users api spec

* Update stories_index_spec

* Remove redundant spec file

* Remove residual code

* Change ClassifiedListing spec

* Update NotificationsIndex spec
2019-05-25 11:04:38 -04:00
Mohammadjavad Raadi
1a960cfb44 Fix TwitterTag's video control bug (#2869) 2019-05-22 13:32:37 -04:00
rhymes
941ab4178b Articles API: create and update (#2844)
* Add system test to create article from the editor

* Move article creation from API to app controller

* Fix system test to edit posts

* Move article update from API to app controller

* Rewrite create article API using API key

* Add main_image and canonical_url to allowed creation params

* Rewrite update article API using API key

* Fix tests and have Comments API inherit from API
2019-05-16 12:26:24 -04:00
Mario See
7dd811a578 Utilize ERB template for GitHub Liquid tags (#2777) [ci skip] 2019-05-14 15:21:23 -04:00
Mario See
86d8128dd9 Utilize ERB template in CodepenTag (#2748) [ci skip] 2019-05-09 19:33:59 -04:00
Mario See
e0d4329089 Utilize ERB template in SoundcloudTag (#2752) [ci skip] 2019-05-09 16:17:03 -04:00
Mario See
84eb7ceb75 Utilize ERB template in Instagram liquid tag (#2749) [ci skip] 2019-05-09 13:20:22 -04:00
Mario See
20a50fb0f8 Utilize ERB template in Youtube/Vimeo liquid tag (#2728) [ci skip] 2019-05-09 12:44:00 -04:00
rhymes
e626002260 Add alternative texts to images (#2771) [ci skip] 2019-05-09 11:16:03 -04:00
Mario See
767029bc10 JS Fiddle Liquid tag render to utilize ActionController (#2746) [ci skip] 2019-05-08 13:05:07 -04:00
Mario See
68239c4cf8 Change Runkit liquid tag to utilize ActionController (#2723) 2019-05-07 16:44:20 -04:00