-
Notifications
You must be signed in to change notification settings - Fork 7
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
#167313423 highlight text in the article #47
Conversation
@@ -0,0 +1,106 @@ | |||
import { chai, server, expect } from './test-setup'; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Parsing error: 'import' and 'export' may appear only with 'sourceType: module'
@@ -0,0 +1,33 @@ | |||
import 'dotenv/config'; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Parsing error: 'import' and 'export' may appear only with 'sourceType: module'
@@ -0,0 +1,127 @@ | |||
import 'dotenv/config'; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Parsing error: 'import' and 'export' may appear only with 'sourceType: module'
b89778c
to
90bf52e
Compare
@@ -0,0 +1,274 @@ | |||
import sinon from 'sinon'; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Parsing error: 'import' and 'export' may appear only with 'sourceType: module'
@@ -0,0 +1,5 @@ | |||
import open from 'open'; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Parsing error: 'import' and 'export' may appear only with 'sourceType: module'
90bf52e
to
f5829a1
Compare
@@ -1,50 +1,50 @@ | |||
// import { chai, server, expect } from './test-setup'; | |||
// import Helper from '../src/helpers/helper'; | |||
import { chai, server, expect } from './test-setup'; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Parsing error: 'import' and 'export' may appear only with 'sourceType: module'
return util.send(res); | ||
} | ||
const [{ text }, articleSlug] = [hightlight, hightlight.get().highlight.get().slug]; | ||
if (req.url.search(/\/facebook/g) > 0) { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
A switch statement would have been a better option
f5829a1
to
7f195a7
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
7f195a7
to
6bf14f1
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
…in the article, comment on the highlight, and share the highlight on different social platforms [Finishes #167313423]
6bf14f1
to
30a14fa
Compare
* [[Start #167319073] started dotenv. * [Finishes:#167319073]rearranged envirables. * chore(updated readme):added secret env variable[finishes #167319073] * chore(updated readme):added port value[finishes #167319073] * chore(updated readme):added secret key[finishes #167319073] * #167313388 configure eslint (#2) * chore(eslint) add eslint dev dependencies add eslint config airbnbbase and eslint import pligin dependencies [Start #167313388] * chore(eslint) add .eslintrc file [Continue #167313388] * chore(eslint) delete unwanted folders [Continue #167313388] * chore(eslint) delete unwanted files [Continue #167313388] * chore(eslint) add eslint dev dependencies add eslint config airbnbbase and eslint import pligin dependencies [Start #167313388] * chore(eslint) add .eslintrc file [Continue #167313388] * chore(eslint) delete unwanted files [Continue #167313388] * #167313386 Integrate TravisCI with readme badge (#3) * chore(setup-travis-ci):Integrate TravisCI with readme badge [Finishes #167313386] * chore(setup-travis-ci):Fix the failing travis [Finishes #167313386] * chore(setup-travis-ci):Integrate travis CI with README [Finishes #167313386] * chore(setup-travis-ci):Change npm install to npm ci [Finishes #167313386] * chore(setup-travis-ci):Update the lock file [Finishes #167313386] * chore(configure postgres and sequelize): (#4) Instlled sequelize created src folder with config, migrations, models, seeds folders configured postgres created User model Configured babel [Finishes #167313387] [Finishes #167595103] * #167313394 Setup API documentation using swagger (#6) * chore(api-doc): Setup API documentation using swagger * chore(api documentation): Setup api documentation using swagger - create entry point of application in src/app.js - create swagger specification implementation in src/swagger.js - create api documentation endpoint in src/routes/api/inde.route.js - create 404 error route handler - create 500 error route handler - create pull request template [Finishes #167313394] * #167313389 Integrated HoundCi (#5) * chore(houndci):added .hound.yml[finished#1167313389] * chore(houndci):added houndci badge[finishes#1167313389] * chore(houndci):added added new line .hound.yml[finishes#1167313389] * Ch api test setup 167313391 (#7) * What does this PR do? Setup unit testing for the backend Tasks to be accomplished - Add required dependancies for running tests - Create test directory with general test setup module - Update test running script - Test the index route How to test the test setup - Clone this repo and run git checkout -b ch-api-test-setup-167313391 - Run git pull ch-api-test-setup-167313391 - Run npm test Usage To add tests, - Open/Create a file for the given tests in the test directory, es test users - Import {chai, app} from ./test-setuo - Ensure that required modules/functions not in the test-setup package are imported from their respective sources - Write the test suite(s)/cases Pivotal tracker story [finishes #167313391](https://www.pivotaltracker.com/story/show/167313391) * What does this PR do? Setup unit testing for the backend Tasks to be accomplished - Add required dependancies for running tests - Create test directory with general test setup module - Update test running script - Test the index route How to test the test setup - Clone this repo and run git checkout -b ch-api-test-setup-167313391 - Run git pull ch-api-test-setup-167313391 - Run npm test Usage To add tests, - Open/Create a file for the given tests in the test directory, es test users - Import {chai, app} from ./test-setuo - Ensure that required modules/functions not in the test-setup package are imported from their respective sources - Write the test suite(s)/cases Pivotal tracker story [finishes #167313391](https://www.pivotaltracker.com/story/show/167313391) * rename imported server * fix index route response property name error and stream line server name * Update package.json * Update package.json * modify test script to report coverage * What does this PR do? Setup unit testing for the backend Tasks to be accomplished - Add required dependancies for running tests - Create test directory with general test setup module - Update test running script - Test the index route How to test the test setup - Clone this repo and run git checkout -b ch-api-test-setup-167313391 - Run git pull ch-api-test-setup-167313391 - Run npm test Usage To add tests, - Open/Create a file for the given tests in the test directory, es test users - Import {chai, app} from ./test-setuo - Ensure that required modules/functions not in the test-setup package are imported from their respective sources - Write the test suite(s)/cases Pivotal tracker story [finishes #167313391](https://www.pivotaltracker.com/story/show/167313391) * What does this PR do? Setup unit testing for the backend Tasks to be accomplished - Add required dependancies for running tests - Create test directory with general test setup module - Update test running script - Test the index route How to test the test setup - Clone this repo and run git checkout -b ch-api-test-setup-167313391 - Run git pull ch-api-test-setup-167313391 - Run npm test Usage To add tests, - Open/Create a file for the given tests in the test directory, es test users - Import {chai, app} from ./test-setuo - Ensure that required modules/functions not in the test-setup package are imported from their respective sources - Write the test suite(s)/cases Pivotal tracker story [finishes #167313391](https://www.pivotaltracker.com/story/show/167313391) * rename imported server * fix index route response property name error and stream line server name * Update package.json * modify test script to report coverage * #167313389 Integrated HoundCi (#5) * chore(houndci):added .hound.yml[finished#1167313389] * chore(houndci):added houndci badge[finishes#1167313389] * chore(houndci):added added new line .hound.yml[finishes#1167313389] * What does this PR do? Setup unit testing for the backend Tasks to be accomplished - Add required dependancies for running tests - Create test directory with general test setup module - Update test running script - Test the index route How to test the test setup - Clone this repo and run git checkout -b ch-api-test-setup-167313391 - Run git pull ch-api-test-setup-167313391 - Run npm test Usage To add tests, - Open/Create a file for the given tests in the test directory, es test users - Import {chai, app} from ./test-setuo - Ensure that required modules/functions not in the test-setup package are imported from their respective sources - Write the test suite(s)/cases Pivotal tracker story [finishes #167313391](https://www.pivotaltracker.com/story/show/167313391) * What does this PR do? Setup unit testing for the backend Tasks to be accomplished - Add required dependancies for running tests - Create test directory with general test setup module - Update test running script - Test the index route How to test the test setup - Clone this repo and run git checkout -b ch-api-test-setup-167313391 - Run git pull ch-api-test-setup-167313391 - Run npm test Usage To add tests, - Open/Create a file for the given tests in the test directory, es test users - Import {chai, app} from ./test-setuo - Ensure that required modules/functions not in the test-setup package are imported from their respective sources - Write the test suite(s)/cases Pivotal tracker story [finishes #167313391](https://www.pivotaltracker.com/story/show/167313391) * rename imported server * fix index route response property name error and stream line server name * Update package.json * Update package.json * modify test script to report coverage * What does this PR do? Setup unit testing for the backend Tasks to be accomplished - Add required dependancies for running tests - Create test directory with general test setup module - Update test running script - Test the index route How to test the test setup - Clone this repo and run git checkout -b ch-api-test-setup-167313391 - Run git pull ch-api-test-setup-167313391 - Run npm test Usage To add tests, - Open/Create a file for the given tests in the test directory, es test users - Import {chai, app} from ./test-setuo - Ensure that required modules/functions not in the test-setup package are imported from their respective sources - Write the test suite(s)/cases Pivotal tracker story [finishes #167313391](https://www.pivotaltracker.com/story/show/167313391) * rename imported server * fix index route response property name error and stream line server name * Update package.json * modify test script to report coverage * chore(coveralls):added coveralls badge[Finishes #167313393] * add coveralls badge, change to use expect for assetion and fix typo * remove duplicate application title * remove duplicate title and improve index route test * #167313390 deploy base application to heroku (#8) * chore(heroku) add app.json file to enable heroku to review each open pull request so that we can test app on heroku before merging branch to develop [Starts #167313390] * chore(heroku) add procfile [Continue #167313390] * chore(heroku) add app.json file to enable heroku to review each open pull request so that we can test app on heroku before merging branch to develop [Starts #167313390] * chore(heroku) add procfile [Continue #167313390] * chore(heroku) add index.js to test [Continue #167313390] * chore(heroku) add index.js to test [Continue #167313390] * chore(heroku) rebase from develop [Continue #167313390] * chore(heroku) finish heroku configuration [Finishes #167313390] * fix covaralls badge (#9) * #167313396 Build out Admin REST endpoints for resources(CRUD) (#10) * updated develop branch * feature(apis):implemented crud operations[finishes:167313396] * feature(users):added username fields[finished:167313396] * feature(code-refactoring):fixed-eslint[Finish:167313396] * feature(tests):added tests[Finishes:167313396] * feature(testing):added tests[Finishes:#167313396] * feature(testing):fixed travis[Finishes:167313396] * #167313398 Users should receive descriptive signup/Registration validation errors (#11) * feature(signup-validations):Users should receive descriptive signup/Registration validation errors [Finishes 167313398] * (signup-validation):Refactor validations [Finishes #167313398] * (signup-validation):Refactor signup validations [Finishes #167313398] * #167313399 User should be able to sign out (#12) * feature(signout): add user signout logic * feature(logout): add user can logout functionality * feature(email verification): Email should be verified before a registered user gets access to different routes [Finishes #167313397] (#13) * bg(heroku) rename Procfile file (#15) * bg(heroku) rename Procfile file [Starts #167804454] * bg(heroku) rebasing [Finishes #167804454] * bg(coveralls): add coverage script (#16) * chore(improve test coverage): improves the test coverage [Finishes 167815352] (#17) * feature(reset password): add user reset password functionality [Finishes #167313400] (#18) * Ft api social login 167313401 (#14) * feature(social login): user has to login with social platforms [Finishes #167313401] * Purpose of this PR Add social login Tasks to be acomplished - Login from social account if user exists - Create user and login if social user does not exist How to test manually - In a browser enter the url http://<base url>/login/<social account> - Get the base URL in the documentation - social account is facebook or google for the respective logins - Follow the prompts and observe the response in the browser Related PT story [WIP #167313401](https://www.pivotaltracker.com/story/show/167313401) * feature(api-social-login):remove twitter [#167313401 * feature(social login): user has to login with social platforms [Finishes #167313401] * feature(social login): user has to login with social platforms [Finishes #167313401] * Purpose of this PR Add social login Tasks to be acomplished - Login from social account if user exists - Create user and login if social user does not exist How to test manually - In a browser enter the url http://<base url>/login/<social account> - Get the base URL in the documentation - social account is facebook or google for the respective logins - Follow the prompts and observe the response in the browser Related PT story [WIP #167313401](https://www.pivotaltracker.com/story/show/167313401) * Purpose of this PR Add social login Tasks to be acomplished - Login from social account if user exists - Create user and login if social user does not exist How to test manually - In a browser enter the url http://<base url>/login/<social account> - Get the base URL in the documentation - social account is facebook or google for the respective logins - Follow the prompts and observe the response in the browser Related PT story [WIP #167313401](https://www.pivotaltracker.com/story/show/167313401) * feature(api-social-login):remove twitter [#167313401 * feature(api-social-login):remove twitter [#167313401 * Purpose Add social login feature Tasks to be accomplished - Enable social login via twitter, google and facebook - Add creation of new users from social accounts on login - Document routes How can this feature be tested manualy - In the browser address bar, enter the url https://codepirates-ah-backend.herokuapp.com/login/<social>, where social can be facebook, google or twitter - In the resulting window, enter your credentials for the given social platform - If your account exists with this app, you should be logged in and your details and a token displayed in the browser - If your account does not exist, you will get a message in the broswer asking to creat an account - Enter https://codepirates-ah-backend.herokuapp.com/signup/social in the browser address bar and hit enter - You will get a message that your account has been created and a verification email sent along with your details and an access token Pivotal tracker story [finishes #167313401] * disable failing tests for further inspection * resolve merge conflict * Purpose of this commit: Resolve build failure Story ID [finished #167313401](https://www.pivotaltracker.com/story/show/167313401) * fix history packag-lock error * work around twitter account security concern * work around twitter account security concern * pp * twitter security * twitter security * twitter security * Update test-socialLogin.js * feature(social login): user has to login with social platforms [Finishes #167313401] * feature(social login): user has to login with social platforms [Finishes #167313401] * feature(social login): user has to login with social platforms [Finishes #167313401] * Purpose of this PR Add social login Tasks to be acomplished - Login from social account if user exists - Create user and login if social user does not exist How to test manually - In a browser enter the url http://<base url>/login/<social account> - Get the base URL in the documentation - social account is facebook or google for the respective logins - Follow the prompts and observe the response in the browser Related PT story [WIP #167313401](https://www.pivotaltracker.com/story/show/167313401) * Purpose of this PR Add social login Tasks to be acomplished - Login from social account if user exists - Create user and login if social user does not exist How to test manually - In a browser enter the url http://<base url>/login/<social account> - Get the base URL in the documentation - social account is facebook or google for the respective logins - Follow the prompts and observe the response in the browser Related PT story [WIP #167313401](https://www.pivotaltracker.com/story/show/167313401) * Purpose of this PR Add social login Tasks to be acomplished - Login from social account if user exists - Create user and login if social user does not exist How to test manually - In a browser enter the url http://<base url>/login/<social account> - Get the base URL in the documentation - social account is facebook or google for the respective logins - Follow the prompts and observe the response in the browser Related PT story [WIP #167313401](https://www.pivotaltracker.com/story/show/167313401) * feature(api-social-login):remove twitter [#167313401 * feature(api-social-login):remove twitter [#167313401 * feature(api-social-login):remove twitter [#167313401 * Purpose Add social login feature Tasks to be accomplished - Enable social login via twitter, google and facebook - Add creation of new users from social accounts on login - Document routes How can this feature be tested manualy - In the browser address bar, enter the url https://codepirates-ah-backend.herokuapp.com/login/<social>, where social can be facebook, google or twitter - In the resulting window, enter your credentials for the given social platform - If your account exists with this app, you should be logged in and your details and a token displayed in the browser - If your account does not exist, you will get a message in the broswer asking to creat an account - Enter https://codepirates-ah-backend.herokuapp.com/signup/social in the browser address bar and hit enter - You will get a message that your account has been created and a verification email sent along with your details and an access token Pivotal tracker story [finishes #167313401] * disable failing tests for further inspection * resolve merge conflict * Purpose of this commit: Resolve build failure Story ID [finished #167313401](https://www.pivotaltracker.com/story/show/167313401) * fix history packag-lock error * work around twitter account security concern * work around twitter account security concern * pp * twitter security * twitter security * twitter security * Update test-socialLogin.js * respond to feedback * fix merge error * feature(social auth): add social authentication functionality * #167313409 Users should be able to follow each other (#20) * rebase * feature(follow-users):Users should be able to follow each other [Finishes #167313409] * feature(follow-users):Improve follow user tests[Finishes #167313409] * feature(create articles): user can create, read, update, and delete an article [Finishes #167313403] (#19) * #167313402 user profile CRUD operation (#22) * controller business logic * adding testing and validation [Continue #167313402] * remove unwanted dependency * feature(rate article): add user should be able to give a rating to an article [Finishes 167313404] (#21) * updated develop (#23) * feature(view authors' profiles): user can view the profiles of all authors [Finishes #167313413] (#24) * feature(commentes):added comment controllers-167313407 (#26) * bug(improve api doc): make api documentation more readable and interactive (#28) [Finishes #167942825] * Ft like dislike article 167313408 (#29) * add migration models * routes * docummentation * feature(read time): add users should be able to see time it takes to read an article functinality (#30) [Finishes #167313415] * bug(fixing create article mocking tests):Only cloudinary function is mocked instead of the whole creating article route [Finishes #168000401] (#31) * unhandled sendgrid error fix (#34) * #167313412 pagination support for articles (#33) * feauture(pagination) start paggination to an article [Starts #167313412] * add business logic for pagination support * finishing pagination [Finishes #167313412] * feature(search functionality): you can search article by title, keyword from description, tags, author [Finishes #167313414] (#32) * #167313410 Users should be able to receive notifications (#35) * updated develop * User should get notifications * feature(notifications): User should be able to get notifications [Finishes #167313410] * feature(notifications):Remove unnecessary files [Finishes #167313410] * feature(notifications):Remove all unnecessary files [Finishes #167313410] * feature(notifications):Remove nodemailer files [Finishes #167313410] * bg(mock fail): add mock test for interaction with external I/O services (#42) * #167313411 Authenticated users should be able to tag articles (#37) * #167313411 Users should be able to tag articles * remove console.log * enable all tests * #167313418 report article (#43) * ft(report) add table and migration file [Starts #167313418] * adding business logic * feature(report) add routing and middleware [Continue #167313418] * finish reporting functionality * reporting(testing) add testing for reporting article endpoint [Contimue #167313418] * reporting(rebasing) rebasing from develop [Continue #167313418] * worked on feedback * #167313417 Users should be able to bookmark articles for later reading (#44) * feature(create articles): user can create, read, update, and delete an article [Finishes #167313403] * basic bookmarking * #167313417 user should be able to bookmark articles * fix error in package-lock * add package lock to git ignore * correct status codes and refactor * remove cascsede update for user to article association * feature(highlight text in the article): user can highlight a content in the article, comment on the highlight, and share the highlight on different social platforms [Finishes #167313423] (#47) * feature(package.lock):deleted[finished:167313424] (#45) * #167313416 Users should be able to share articles across different channels (#46) * save changes * feature(share-articles): Users should be able to share articles across different channels [Finishes #167313416] * feature(share-articles): Use util helper fuctions [Finishes #167313416] * reset to previous commit * Updated doc.yml file
…in the article, comment on the highlight, and share the highlight on different social platforms [Finishes #167313423] (#47)
* #167313388 configure eslint (#2) * chore(eslint) add eslint dev dependencies add eslint config airbnbbase and eslint import pligin dependencies [Start #167313388] * chore(eslint) add .eslintrc file [Continue #167313388] * chore(eslint) delete unwanted folders [Continue #167313388] * chore(eslint) delete unwanted files [Continue #167313388] * chore(eslint) add eslint dev dependencies add eslint config airbnbbase and eslint import pligin dependencies [Start #167313388] * chore(eslint) add .eslintrc file [Continue #167313388] * chore(eslint) delete unwanted files [Continue #167313388] * #167313386 Integrate TravisCI with readme badge (#3) * chore(setup-travis-ci):Integrate TravisCI with readme badge [Finishes #167313386] * chore(setup-travis-ci):Fix the failing travis [Finishes #167313386] * chore(setup-travis-ci):Integrate travis CI with README [Finishes #167313386] * chore(setup-travis-ci):Change npm install to npm ci [Finishes #167313386] * chore(setup-travis-ci):Update the lock file [Finishes #167313386] * chore(configure postgres and sequelize): (#4) Instlled sequelize created src folder with config, migrations, models, seeds folders configured postgres created User model Configured babel [Finishes #167313387] [Finishes #167595103] * #167313394 Setup API documentation using swagger (#6) * chore(api-doc): Setup API documentation using swagger * chore(api documentation): Setup api documentation using swagger - create entry point of application in src/app.js - create swagger specification implementation in src/swagger.js - create api documentation endpoint in src/routes/api/inde.route.js - create 404 error route handler - create 500 error route handler - create pull request template [Finishes #167313394] * #167313389 Integrated HoundCi (#5) * chore(houndci):added .hound.yml[finished#1167313389] * chore(houndci):added houndci badge[finishes#1167313389] * chore(houndci):added added new line .hound.yml[finishes#1167313389] * Ch api test setup 167313391 (#7) * What does this PR do? Setup unit testing for the backend Tasks to be accomplished - Add required dependancies for running tests - Create test directory with general test setup module - Update test running script - Test the index route How to test the test setup - Clone this repo and run git checkout -b ch-api-test-setup-167313391 - Run git pull ch-api-test-setup-167313391 - Run npm test Usage To add tests, - Open/Create a file for the given tests in the test directory, es test users - Import {chai, app} from ./test-setuo - Ensure that required modules/functions not in the test-setup package are imported from their respective sources - Write the test suite(s)/cases Pivotal tracker story [finishes #167313391](https://www.pivotaltracker.com/story/show/167313391) * What does this PR do? Setup unit testing for the backend Tasks to be accomplished - Add required dependancies for running tests - Create test directory with general test setup module - Update test running script - Test the index route How to test the test setup - Clone this repo and run git checkout -b ch-api-test-setup-167313391 - Run git pull ch-api-test-setup-167313391 - Run npm test Usage To add tests, - Open/Create a file for the given tests in the test directory, es test users - Import {chai, app} from ./test-setuo - Ensure that required modules/functions not in the test-setup package are imported from their respective sources - Write the test suite(s)/cases Pivotal tracker story [finishes #167313391](https://www.pivotaltracker.com/story/show/167313391) * rename imported server * fix index route response property name error and stream line server name * Update package.json * Update package.json * modify test script to report coverage * What does this PR do? Setup unit testing for the backend Tasks to be accomplished - Add required dependancies for running tests - Create test directory with general test setup module - Update test running script - Test the index route How to test the test setup - Clone this repo and run git checkout -b ch-api-test-setup-167313391 - Run git pull ch-api-test-setup-167313391 - Run npm test Usage To add tests, - Open/Create a file for the given tests in the test directory, es test users - Import {chai, app} from ./test-setuo - Ensure that required modules/functions not in the test-setup package are imported from their respective sources - Write the test suite(s)/cases Pivotal tracker story [finishes #167313391](https://www.pivotaltracker.com/story/show/167313391) * What does this PR do? Setup unit testing for the backend Tasks to be accomplished - Add required dependancies for running tests - Create test directory with general test setup module - Update test running script - Test the index route How to test the test setup - Clone this repo and run git checkout -b ch-api-test-setup-167313391 - Run git pull ch-api-test-setup-167313391 - Run npm test Usage To add tests, - Open/Create a file for the given tests in the test directory, es test users - Import {chai, app} from ./test-setuo - Ensure that required modules/functions not in the test-setup package are imported from their respective sources - Write the test suite(s)/cases Pivotal tracker story [finishes #167313391](https://www.pivotaltracker.com/story/show/167313391) * rename imported server * fix index route response property name error and stream line server name * Update package.json * modify test script to report coverage * #167313389 Integrated HoundCi (#5) * chore(houndci):added .hound.yml[finished#1167313389] * chore(houndci):added houndci badge[finishes#1167313389] * chore(houndci):added added new line .hound.yml[finishes#1167313389] * What does this PR do? Setup unit testing for the backend Tasks to be accomplished - Add required dependancies for running tests - Create test directory with general test setup module - Update test running script - Test the index route How to test the test setup - Clone this repo and run git checkout -b ch-api-test-setup-167313391 - Run git pull ch-api-test-setup-167313391 - Run npm test Usage To add tests, - Open/Create a file for the given tests in the test directory, es test users - Import {chai, app} from ./test-setuo - Ensure that required modules/functions not in the test-setup package are imported from their respective sources - Write the test suite(s)/cases Pivotal tracker story [finishes #167313391](https://www.pivotaltracker.com/story/show/167313391) * What does this PR do? Setup unit testing for the backend Tasks to be accomplished - Add required dependancies for running tests - Create test directory with general test setup module - Update test running script - Test the index route How to test the test setup - Clone this repo and run git checkout -b ch-api-test-setup-167313391 - Run git pull ch-api-test-setup-167313391 - Run npm test Usage To add tests, - Open/Create a file for the given tests in the test directory, es test users - Import {chai, app} from ./test-setuo - Ensure that required modules/functions not in the test-setup package are imported from their respective sources - Write the test suite(s)/cases Pivotal tracker story [finishes #167313391](https://www.pivotaltracker.com/story/show/167313391) * rename imported server * fix index route response property name error and stream line server name * Update package.json * Update package.json * modify test script to report coverage * What does this PR do? Setup unit testing for the backend Tasks to be accomplished - Add required dependancies for running tests - Create test directory with general test setup module - Update test running script - Test the index route How to test the test setup - Clone this repo and run git checkout -b ch-api-test-setup-167313391 - Run git pull ch-api-test-setup-167313391 - Run npm test Usage To add tests, - Open/Create a file for the given tests in the test directory, es test users - Import {chai, app} from ./test-setuo - Ensure that required modules/functions not in the test-setup package are imported from their respective sources - Write the test suite(s)/cases Pivotal tracker story [finishes #167313391](https://www.pivotaltracker.com/story/show/167313391) * rename imported server * fix index route response property name error and stream line server name * Update package.json * modify test script to report coverage * chore(coveralls):added coveralls badge[Finishes #167313393] * add coveralls badge, change to use expect for assetion and fix typo * remove duplicate application title * remove duplicate title and improve index route test * #167313390 deploy base application to heroku (#8) * chore(heroku) add app.json file to enable heroku to review each open pull request so that we can test app on heroku before merging branch to develop [Starts #167313390] * chore(heroku) add procfile [Continue #167313390] * chore(heroku) add app.json file to enable heroku to review each open pull request so that we can test app on heroku before merging branch to develop [Starts #167313390] * chore(heroku) add procfile [Continue #167313390] * chore(heroku) add index.js to test [Continue #167313390] * chore(heroku) add index.js to test [Continue #167313390] * chore(heroku) rebase from develop [Continue #167313390] * chore(heroku) finish heroku configuration [Finishes #167313390] * fix covaralls badge (#9) * #167313396 Build out Admin REST endpoints for resources(CRUD) (#10) * updated develop branch * feature(apis):implemented crud operations[finishes:167313396] * feature(users):added username fields[finished:167313396] * feature(code-refactoring):fixed-eslint[Finish:167313396] * feature(tests):added tests[Finishes:167313396] * feature(testing):added tests[Finishes:#167313396] * feature(testing):fixed travis[Finishes:167313396] * #167313398 Users should receive descriptive signup/Registration validation errors (#11) * feature(signup-validations):Users should receive descriptive signup/Registration validation errors [Finishes 167313398] * (signup-validation):Refactor validations [Finishes #167313398] * (signup-validation):Refactor signup validations [Finishes #167313398] * #167313399 User should be able to sign out (#12) * feature(signout): add user signout logic * feature(logout): add user can logout functionality * feature(email verification): Email should be verified before a registered user gets access to different routes [Finishes #167313397] (#13) * bg(heroku) rename Procfile file (#15) * bg(heroku) rename Procfile file [Starts #167804454] * bg(heroku) rebasing [Finishes #167804454] * bg(coveralls): add coverage script (#16) * chore(improve test coverage): improves the test coverage [Finishes 167815352] (#17) * feature(reset password): add user reset password functionality [Finishes #167313400] (#18) * Ft api social login 167313401 (#14) * feature(social login): user has to login with social platforms [Finishes #167313401] * Purpose of this PR Add social login Tasks to be acomplished - Login from social account if user exists - Create user and login if social user does not exist How to test manually - In a browser enter the url http://<base url>/login/<social account> - Get the base URL in the documentation - social account is facebook or google for the respective logins - Follow the prompts and observe the response in the browser Related PT story [WIP #167313401](https://www.pivotaltracker.com/story/show/167313401) * feature(api-social-login):remove twitter [#167313401 * feature(social login): user has to login with social platforms [Finishes #167313401] * feature(social login): user has to login with social platforms [Finishes #167313401] * Purpose of this PR Add social login Tasks to be acomplished - Login from social account if user exists - Create user and login if social user does not exist How to test manually - In a browser enter the url http://<base url>/login/<social account> - Get the base URL in the documentation - social account is facebook or google for the respective logins - Follow the prompts and observe the response in the browser Related PT story [WIP #167313401](https://www.pivotaltracker.com/story/show/167313401) * Purpose of this PR Add social login Tasks to be acomplished - Login from social account if user exists - Create user and login if social user does not exist How to test manually - In a browser enter the url http://<base url>/login/<social account> - Get the base URL in the documentation - social account is facebook or google for the respective logins - Follow the prompts and observe the response in the browser Related PT story [WIP #167313401](https://www.pivotaltracker.com/story/show/167313401) * feature(api-social-login):remove twitter [#167313401 * feature(api-social-login):remove twitter [#167313401 * Purpose Add social login feature Tasks to be accomplished - Enable social login via twitter, google and facebook - Add creation of new users from social accounts on login - Document routes How can this feature be tested manualy - In the browser address bar, enter the url https://codepirates-ah-backend.herokuapp.com/login/<social>, where social can be facebook, google or twitter - In the resulting window, enter your credentials for the given social platform - If your account exists with this app, you should be logged in and your details and a token displayed in the browser - If your account does not exist, you will get a message in the broswer asking to creat an account - Enter https://codepirates-ah-backend.herokuapp.com/signup/social in the browser address bar and hit enter - You will get a message that your account has been created and a verification email sent along with your details and an access token Pivotal tracker story [finishes #167313401] * disable failing tests for further inspection * resolve merge conflict * Purpose of this commit: Resolve build failure Story ID [finished #167313401](https://www.pivotaltracker.com/story/show/167313401) * fix history packag-lock error * work around twitter account security concern * work around twitter account security concern * pp * twitter security * twitter security * twitter security * Update test-socialLogin.js * feature(social login): user has to login with social platforms [Finishes #167313401] * feature(social login): user has to login with social platforms [Finishes #167313401] * feature(social login): user has to login with social platforms [Finishes #167313401] * Purpose of this PR Add social login Tasks to be acomplished - Login from social account if user exists - Create user and login if social user does not exist How to test manually - In a browser enter the url http://<base url>/login/<social account> - Get the base URL in the documentation - social account is facebook or google for the respective logins - Follow the prompts and observe the response in the browser Related PT story [WIP #167313401](https://www.pivotaltracker.com/story/show/167313401) * Purpose of this PR Add social login Tasks to be acomplished - Login from social account if user exists - Create user and login if social user does not exist How to test manually - In a browser enter the url http://<base url>/login/<social account> - Get the base URL in the documentation - social account is facebook or google for the respective logins - Follow the prompts and observe the response in the browser Related PT story [WIP #167313401](https://www.pivotaltracker.com/story/show/167313401) * Purpose of this PR Add social login Tasks to be acomplished - Login from social account if user exists - Create user and login if social user does not exist How to test manually - In a browser enter the url http://<base url>/login/<social account> - Get the base URL in the documentation - social account is facebook or google for the respective logins - Follow the prompts and observe the response in the browser Related PT story [WIP #167313401](https://www.pivotaltracker.com/story/show/167313401) * feature(api-social-login):remove twitter [#167313401 * feature(api-social-login):remove twitter [#167313401 * feature(api-social-login):remove twitter [#167313401 * Purpose Add social login feature Tasks to be accomplished - Enable social login via twitter, google and facebook - Add creation of new users from social accounts on login - Document routes How can this feature be tested manualy - In the browser address bar, enter the url https://codepirates-ah-backend.herokuapp.com/login/<social>, where social can be facebook, google or twitter - In the resulting window, enter your credentials for the given social platform - If your account exists with this app, you should be logged in and your details and a token displayed in the browser - If your account does not exist, you will get a message in the broswer asking to creat an account - Enter https://codepirates-ah-backend.herokuapp.com/signup/social in the browser address bar and hit enter - You will get a message that your account has been created and a verification email sent along with your details and an access token Pivotal tracker story [finishes #167313401] * disable failing tests for further inspection * resolve merge conflict * Purpose of this commit: Resolve build failure Story ID [finished #167313401](https://www.pivotaltracker.com/story/show/167313401) * fix history packag-lock error * work around twitter account security concern * work around twitter account security concern * pp * twitter security * twitter security * twitter security * Update test-socialLogin.js * respond to feedback * fix merge error * feature(social auth): add social authentication functionality * #167313409 Users should be able to follow each other (#20) * rebase * feature(follow-users):Users should be able to follow each other [Finishes #167313409] * feature(follow-users):Improve follow user tests[Finishes #167313409] * feature(create articles): user can create, read, update, and delete an article [Finishes #167313403] (#19) * #167313402 user profile CRUD operation (#22) * controller business logic * adding testing and validation [Continue #167313402] * remove unwanted dependency * feature(rate article): add user should be able to give a rating to an article [Finishes 167313404] (#21) * feature(view authors' profiles): user can view the profiles of all authors [Finishes #167313413] (#24) * feature(commentes):added comment controllers-167313407 (#26) * bug(improve api doc): make api documentation more readable and interactive (#28) [Finishes #167942825] * Ft like dislike article 167313408 (#29) * add migration models * routes * docummentation * feature(read time): add users should be able to see time it takes to read an article functinality (#30) [Finishes #167313415] * bug(fixing create article mocking tests):Only cloudinary function is mocked instead of the whole creating article route [Finishes #168000401] (#31) * unhandled sendgrid error fix (#34) * #167313410 Users should be able to receive notifications (#35) * updated develop * User should get notifications * feature(notifications): User should be able to get notifications [Finishes #167313410] * feature(notifications):Remove unnecessary files [Finishes #167313410] * feature(notifications):Remove all unnecessary files [Finishes #167313410] * feature(notifications):Remove nodemailer files [Finishes #167313410] * bg(mock fail): add mock test for interaction with external I/O services (#42) * #167313411 Authenticated users should be able to tag articles (#37) * #167313411 Users should be able to tag articles * remove console.log * enable all tests * #167313417 Users should be able to bookmark articles for later reading (#44) * feature(create articles): user can create, read, update, and delete an article [Finishes #167313403] * basic bookmarking * #167313417 user should be able to bookmark articles * fix error in package-lock * add package lock to git ignore * correct status codes and refactor * remove cascsede update for user to article association * feature(highlight text in the article): user can highlight a content in the article, comment on the highlight, and share the highlight on different social platforms [Finishes #167313423] (#47) * feature(package.lock):deleted[finished:167313424] (#45) * #167313416 Users should be able to share articles across different channels (#46) * save changes * feature(share-articles): Users should be able to share articles across different channels [Finishes #167313416] * feature(share-articles): Use util helper fuctions [Finishes #167313416] * reset to previous commit * Updated doc.yml file * feature(like comment): add user can like a specific comment [Finishes #167313419] (#48) * #167313420 A user should be able to see their reading statistics (#49) * 167313420 a user should be able to view their reading stats [WIP #167313420] * 167313420 user should be able to view their stats [(Needs review) #167313420] * rebase and incorporate latest changes * 167313420 rebase and rename stats test to run before other stats populating test request * resolve conflict in articles controller * reolve conflict in articles ctrler * reolve conflict in articles ctrler * resolve merge conflict * #167313406 refactoring and pagintion for rating article (#50) * rating(paginating) paginate and refactor rating [Starts #167313406] * rating(refactor) add testing for rating and its pagination [Finishes #167313406] * #168213200 change setError to setSuccess upon success execution (#52) * save changes * feature(share-articles): Users should be able to share articles across different channels [Finishes #167313416] * feature(share-articles): Use util helper fuctions [Finishes #167313416] * reset to previous commit * Updated doc.yml file * fix setError to setSuccess * Fix setError to setSucess in comments file * Remove duplicate code due to rebasing
…ofiles (#64) * #167313388 configure eslint (#2) * chore(eslint) add eslint dev dependencies add eslint config airbnbbase and eslint import pligin dependencies [Start #167313388] * chore(eslint) add .eslintrc file [Continue #167313388] * chore(eslint) delete unwanted folders [Continue #167313388] * chore(eslint) delete unwanted files [Continue #167313388] * chore(eslint) add eslint dev dependencies add eslint config airbnbbase and eslint import pligin dependencies [Start #167313388] * chore(eslint) add .eslintrc file [Continue #167313388] * chore(eslint) delete unwanted files [Continue #167313388] * #167313386 Integrate TravisCI with readme badge (#3) * chore(setup-travis-ci):Integrate TravisCI with readme badge [Finishes #167313386] * chore(setup-travis-ci):Fix the failing travis [Finishes #167313386] * chore(setup-travis-ci):Integrate travis CI with README [Finishes #167313386] * chore(setup-travis-ci):Change npm install to npm ci [Finishes #167313386] * chore(setup-travis-ci):Update the lock file [Finishes #167313386] * chore(configure postgres and sequelize): (#4) Instlled sequelize created src folder with config, migrations, models, seeds folders configured postgres created User model Configured babel [Finishes #167313387] [Finishes #167595103] * #167313394 Setup API documentation using swagger (#6) * chore(api-doc): Setup API documentation using swagger * chore(api documentation): Setup api documentation using swagger - create entry point of application in src/app.js - create swagger specification implementation in src/swagger.js - create api documentation endpoint in src/routes/api/inde.route.js - create 404 error route handler - create 500 error route handler - create pull request template [Finishes #167313394] * #167313389 Integrated HoundCi (#5) * chore(houndci):added .hound.yml[finished#1167313389] * chore(houndci):added houndci badge[finishes#1167313389] * chore(houndci):added added new line .hound.yml[finishes#1167313389] * Ch api test setup 167313391 (#7) * What does this PR do? Setup unit testing for the backend Tasks to be accomplished - Add required dependancies for running tests - Create test directory with general test setup module - Update test running script - Test the index route How to test the test setup - Clone this repo and run git checkout -b ch-api-test-setup-167313391 - Run git pull ch-api-test-setup-167313391 - Run npm test Usage To add tests, - Open/Create a file for the given tests in the test directory, es test users - Import {chai, app} from ./test-setuo - Ensure that required modules/functions not in the test-setup package are imported from their respective sources - Write the test suite(s)/cases Pivotal tracker story [finishes #167313391](https://www.pivotaltracker.com/story/show/167313391) * What does this PR do? Setup unit testing for the backend Tasks to be accomplished - Add required dependancies for running tests - Create test directory with general test setup module - Update test running script - Test the index route How to test the test setup - Clone this repo and run git checkout -b ch-api-test-setup-167313391 - Run git pull ch-api-test-setup-167313391 - Run npm test Usage To add tests, - Open/Create a file for the given tests in the test directory, es test users - Import {chai, app} from ./test-setuo - Ensure that required modules/functions not in the test-setup package are imported from their respective sources - Write the test suite(s)/cases Pivotal tracker story [finishes #167313391](https://www.pivotaltracker.com/story/show/167313391) * rename imported server * fix index route response property name error and stream line server name * Update package.json * Update package.json * modify test script to report coverage * What does this PR do? Setup unit testing for the backend Tasks to be accomplished - Add required dependancies for running tests - Create test directory with general test setup module - Update test running script - Test the index route How to test the test setup - Clone this repo and run git checkout -b ch-api-test-setup-167313391 - Run git pull ch-api-test-setup-167313391 - Run npm test Usage To add tests, - Open/Create a file for the given tests in the test directory, es test users - Import {chai, app} from ./test-setuo - Ensure that required modules/functions not in the test-setup package are imported from their respective sources - Write the test suite(s)/cases Pivotal tracker story [finishes #167313391](https://www.pivotaltracker.com/story/show/167313391) * What does this PR do? Setup unit testing for the backend Tasks to be accomplished - Add required dependancies for running tests - Create test directory with general test setup module - Update test running script - Test the index route How to test the test setup - Clone this repo and run git checkout -b ch-api-test-setup-167313391 - Run git pull ch-api-test-setup-167313391 - Run npm test Usage To add tests, - Open/Create a file for the given tests in the test directory, es test users - Import {chai, app} from ./test-setuo - Ensure that required modules/functions not in the test-setup package are imported from their respective sources - Write the test suite(s)/cases Pivotal tracker story [finishes #167313391](https://www.pivotaltracker.com/story/show/167313391) * rename imported server * fix index route response property name error and stream line server name * Update package.json * modify test script to report coverage * #167313389 Integrated HoundCi (#5) * chore(houndci):added .hound.yml[finished#1167313389] * chore(houndci):added houndci badge[finishes#1167313389] * chore(houndci):added added new line .hound.yml[finishes#1167313389] * What does this PR do? Setup unit testing for the backend Tasks to be accomplished - Add required dependancies for running tests - Create test directory with general test setup module - Update test running script - Test the index route How to test the test setup - Clone this repo and run git checkout -b ch-api-test-setup-167313391 - Run git pull ch-api-test-setup-167313391 - Run npm test Usage To add tests, - Open/Create a file for the given tests in the test directory, es test users - Import {chai, app} from ./test-setuo - Ensure that required modules/functions not in the test-setup package are imported from their respective sources - Write the test suite(s)/cases Pivotal tracker story [finishes #167313391](https://www.pivotaltracker.com/story/show/167313391) * What does this PR do? Setup unit testing for the backend Tasks to be accomplished - Add required dependancies for running tests - Create test directory with general test setup module - Update test running script - Test the index route How to test the test setup - Clone this repo and run git checkout -b ch-api-test-setup-167313391 - Run git pull ch-api-test-setup-167313391 - Run npm test Usage To add tests, - Open/Create a file for the given tests in the test directory, es test users - Import {chai, app} from ./test-setuo - Ensure that required modules/functions not in the test-setup package are imported from their respective sources - Write the test suite(s)/cases Pivotal tracker story [finishes #167313391](https://www.pivotaltracker.com/story/show/167313391) * rename imported server * fix index route response property name error and stream line server name * Update package.json * Update package.json * modify test script to report coverage * What does this PR do? Setup unit testing for the backend Tasks to be accomplished - Add required dependancies for running tests - Create test directory with general test setup module - Update test running script - Test the index route How to test the test setup - Clone this repo and run git checkout -b ch-api-test-setup-167313391 - Run git pull ch-api-test-setup-167313391 - Run npm test Usage To add tests, - Open/Create a file for the given tests in the test directory, es test users - Import {chai, app} from ./test-setuo - Ensure that required modules/functions not in the test-setup package are imported from their respective sources - Write the test suite(s)/cases Pivotal tracker story [finishes #167313391](https://www.pivotaltracker.com/story/show/167313391) * rename imported server * fix index route response property name error and stream line server name * Update package.json * modify test script to report coverage * chore(coveralls):added coveralls badge[Finishes #167313393] * add coveralls badge, change to use expect for assetion and fix typo * remove duplicate application title * remove duplicate title and improve index route test * #167313390 deploy base application to heroku (#8) * chore(heroku) add app.json file to enable heroku to review each open pull request so that we can test app on heroku before merging branch to develop [Starts #167313390] * chore(heroku) add procfile [Continue #167313390] * chore(heroku) add app.json file to enable heroku to review each open pull request so that we can test app on heroku before merging branch to develop [Starts #167313390] * chore(heroku) add procfile [Continue #167313390] * chore(heroku) add index.js to test [Continue #167313390] * chore(heroku) add index.js to test [Continue #167313390] * chore(heroku) rebase from develop [Continue #167313390] * chore(heroku) finish heroku configuration [Finishes #167313390] * fix covaralls badge (#9) * #167313396 Build out Admin REST endpoints for resources(CRUD) (#10) * updated develop branch * feature(apis):implemented crud operations[finishes:167313396] * feature(users):added username fields[finished:167313396] * feature(code-refactoring):fixed-eslint[Finish:167313396] * feature(tests):added tests[Finishes:167313396] * feature(testing):added tests[Finishes:#167313396] * feature(testing):fixed travis[Finishes:167313396] * #167313398 Users should receive descriptive signup/Registration validation errors (#11) * feature(signup-validations):Users should receive descriptive signup/Registration validation errors [Finishes 167313398] * (signup-validation):Refactor validations [Finishes #167313398] * (signup-validation):Refactor signup validations [Finishes #167313398] * #167313399 User should be able to sign out (#12) * feature(signout): add user signout logic * feature(logout): add user can logout functionality * feature(email verification): Email should be verified before a registered user gets access to different routes [Finishes #167313397] (#13) * bg(heroku) rename Procfile file (#15) * bg(heroku) rename Procfile file [Starts #167804454] * bg(heroku) rebasing [Finishes #167804454] * bg(coveralls): add coverage script (#16) * chore(improve test coverage): improves the test coverage [Finishes 167815352] (#17) * feature(reset password): add user reset password functionality [Finishes #167313400] (#18) * Ft api social login 167313401 (#14) * feature(social login): user has to login with social platforms [Finishes #167313401] * Purpose of this PR Add social login Tasks to be acomplished - Login from social account if user exists - Create user and login if social user does not exist How to test manually - In a browser enter the url http://<base url>/login/<social account> - Get the base URL in the documentation - social account is facebook or google for the respective logins - Follow the prompts and observe the response in the browser Related PT story [WIP #167313401](https://www.pivotaltracker.com/story/show/167313401) * feature(api-social-login):remove twitter [#167313401 * feature(social login): user has to login with social platforms [Finishes #167313401] * feature(social login): user has to login with social platforms [Finishes #167313401] * Purpose of this PR Add social login Tasks to be acomplished - Login from social account if user exists - Create user and login if social user does not exist How to test manually - In a browser enter the url http://<base url>/login/<social account> - Get the base URL in the documentation - social account is facebook or google for the respective logins - Follow the prompts and observe the response in the browser Related PT story [WIP #167313401](https://www.pivotaltracker.com/story/show/167313401) * Purpose of this PR Add social login Tasks to be acomplished - Login from social account if user exists - Create user and login if social user does not exist How to test manually - In a browser enter the url http://<base url>/login/<social account> - Get the base URL in the documentation - social account is facebook or google for the respective logins - Follow the prompts and observe the response in the browser Related PT story [WIP #167313401](https://www.pivotaltracker.com/story/show/167313401) * feature(api-social-login):remove twitter [#167313401 * feature(api-social-login):remove twitter [#167313401 * Purpose Add social login feature Tasks to be accomplished - Enable social login via twitter, google and facebook - Add creation of new users from social accounts on login - Document routes How can this feature be tested manualy - In the browser address bar, enter the url https://codepirates-ah-backend.herokuapp.com/login/<social>, where social can be facebook, google or twitter - In the resulting window, enter your credentials for the given social platform - If your account exists with this app, you should be logged in and your details and a token displayed in the browser - If your account does not exist, you will get a message in the broswer asking to creat an account - Enter https://codepirates-ah-backend.herokuapp.com/signup/social in the browser address bar and hit enter - You will get a message that your account has been created and a verification email sent along with your details and an access token Pivotal tracker story [finishes #167313401] * disable failing tests for further inspection * resolve merge conflict * Purpose of this commit: Resolve build failure Story ID [finished #167313401](https://www.pivotaltracker.com/story/show/167313401) * fix history packag-lock error * work around twitter account security concern * work around twitter account security concern * pp * twitter security * twitter security * twitter security * Update test-socialLogin.js * feature(social login): user has to login with social platforms [Finishes #167313401] * feature(social login): user has to login with social platforms [Finishes #167313401] * feature(social login): user has to login with social platforms [Finishes #167313401] * Purpose of this PR Add social login Tasks to be acomplished - Login from social account if user exists - Create user and login if social user does not exist How to test manually - In a browser enter the url http://<base url>/login/<social account> - Get the base URL in the documentation - social account is facebook or google for the respective logins - Follow the prompts and observe the response in the browser Related PT story [WIP #167313401](https://www.pivotaltracker.com/story/show/167313401) * Purpose of this PR Add social login Tasks to be acomplished - Login from social account if user exists - Create user and login if social user does not exist How to test manually - In a browser enter the url http://<base url>/login/<social account> - Get the base URL in the documentation - social account is facebook or google for the respective logins - Follow the prompts and observe the response in the browser Related PT story [WIP #167313401](https://www.pivotaltracker.com/story/show/167313401) * Purpose of this PR Add social login Tasks to be acomplished - Login from social account if user exists - Create user and login if social user does not exist How to test manually - In a browser enter the url http://<base url>/login/<social account> - Get the base URL in the documentation - social account is facebook or google for the respective logins - Follow the prompts and observe the response in the browser Related PT story [WIP #167313401](https://www.pivotaltracker.com/story/show/167313401) * feature(api-social-login):remove twitter [#167313401 * feature(api-social-login):remove twitter [#167313401 * feature(api-social-login):remove twitter [#167313401 * Purpose Add social login feature Tasks to be accomplished - Enable social login via twitter, google and facebook - Add creation of new users from social accounts on login - Document routes How can this feature be tested manualy - In the browser address bar, enter the url https://codepirates-ah-backend.herokuapp.com/login/<social>, where social can be facebook, google or twitter - In the resulting window, enter your credentials for the given social platform - If your account exists with this app, you should be logged in and your details and a token displayed in the browser - If your account does not exist, you will get a message in the broswer asking to creat an account - Enter https://codepirates-ah-backend.herokuapp.com/signup/social in the browser address bar and hit enter - You will get a message that your account has been created and a verification email sent along with your details and an access token Pivotal tracker story [finishes #167313401] * disable failing tests for further inspection * resolve merge conflict * Purpose of this commit: Resolve build failure Story ID [finished #167313401](https://www.pivotaltracker.com/story/show/167313401) * fix history packag-lock error * work around twitter account security concern * work around twitter account security concern * pp * twitter security * twitter security * twitter security * Update test-socialLogin.js * respond to feedback * fix merge error * feature(social auth): add social authentication functionality * #167313409 Users should be able to follow each other (#20) * rebase * feature(follow-users):Users should be able to follow each other [Finishes #167313409] * feature(follow-users):Improve follow user tests[Finishes #167313409] * feature(create articles): user can create, read, update, and delete an article [Finishes #167313403] (#19) * #167313402 user profile CRUD operation (#22) * controller business logic * adding testing and validation [Continue #167313402] * remove unwanted dependency * feature(rate article): add user should be able to give a rating to an article [Finishes 167313404] (#21) * feature(view authors' profiles): user can view the profiles of all authors [Finishes #167313413] (#24) * feature(commentes):added comment controllers-167313407 (#26) * bug(improve api doc): make api documentation more readable and interactive (#28) [Finishes #167942825] * Ft like dislike article 167313408 (#29) * add migration models * routes * docummentation * feature(read time): add users should be able to see time it takes to read an article functinality (#30) [Finishes #167313415] * bug(fixing create article mocking tests):Only cloudinary function is mocked instead of the whole creating article route [Finishes #168000401] (#31) * unhandled sendgrid error fix (#34) * #167313410 Users should be able to receive notifications (#35) * updated develop * User should get notifications * feature(notifications): User should be able to get notifications [Finishes #167313410] * feature(notifications):Remove unnecessary files [Finishes #167313410] * feature(notifications):Remove all unnecessary files [Finishes #167313410] * feature(notifications):Remove nodemailer files [Finishes #167313410] * bg(mock fail): add mock test for interaction with external I/O services (#42) * #167313411 Authenticated users should be able to tag articles (#37) * #167313411 Users should be able to tag articles * remove console.log * enable all tests * #167313417 Users should be able to bookmark articles for later reading (#44) * feature(create articles): user can create, read, update, and delete an article [Finishes #167313403] * basic bookmarking * #167313417 user should be able to bookmark articles * fix error in package-lock * add package lock to git ignore * correct status codes and refactor * remove cascsede update for user to article association * feature(highlight text in the article): user can highlight a content in the article, comment on the highlight, and share the highlight on different social platforms [Finishes #167313423] (#47) * feature(package.lock):deleted[finished:167313424] (#45) * #167313416 Users should be able to share articles across different channels (#46) * save changes * feature(share-articles): Users should be able to share articles across different channels [Finishes #167313416] * feature(share-articles): Use util helper fuctions [Finishes #167313416] * reset to previous commit * Updated doc.yml file * feature(like comment): add user can like a specific comment [Finishes #167313419] (#48) * #167313420 A user should be able to see their reading statistics (#49) * 167313420 a user should be able to view their reading stats [WIP #167313420] * 167313420 user should be able to view their stats [(Needs review) #167313420] * rebase and incorporate latest changes * 167313420 rebase and rename stats test to run before other stats populating test request * resolve conflict in articles controller * reolve conflict in articles ctrler * reolve conflict in articles ctrler * resolve merge conflict * #167313406 refactoring and pagintion for rating article (#50) * rating(paginating) paginate and refactor rating [Starts #167313406] * rating(refactor) add testing for rating and its pagination [Finishes #167313406] * #168213200 change setError to setSuccess upon success execution (#52) * save changes * feature(share-articles): Users should be able to share articles across different channels [Finishes #167313416] * feature(share-articles): Use util helper fuctions [Finishes #167313416] * reset to previous commit * Updated doc.yml file * fix setError to setSuccess * Fix setError to setSucess in comments file * Remove duplicate code due to rebasing * chore(maintainability): add code climate badge [Finishes #168243766] (#54) * addd express social login (#55) * chore(Raise test coverage): The coverage improvedfrom 91% to 95.78% [Finishes: #168212256] (#58) * featuture api (enable social signup): Signup social user and return unique random password [finishes #167313352] (#60) * #169039872 fix backend social login and email verification (#61) * bug(socialAUth) fix social auth fix social auth so that it can redirect to a desired page and also fix body parser issues [Starts #169039872] * bu(backend) fix some issues fixing social login , email verification and bio allowed to be set to empty [Finish #169039872] * mend add a reset link to backend * mend add a reset link to backend * mend add a reset link to backend * feature(views and popular articles): get article views and popular articles [Finishes #169124758] (#63) * bg(search filter): added search and filter functionality [Finishes #169191116]
What does this PR do?
Description of Task to be completed?
Completed the functionality where a user can highlight, comment on a highlight, share a highlight on different social platforms like facebook, twitter, LinkedIn, Gmail.
Completed testing functions are tested at 100%
The completed API documentation of all endpoints
How should this be manually tested?
Download or clone the tutorial project code from this repo, on you local terminal checkout to ft-highlight-167313423.
install all required NPM packages by running npm ci
Add all environment variables found in .env.sample in you .env file located outside the src folder.
run npm test or npm run dev to verify if everything is working well.
To create table and seeds use: npm run migration and npm run seeds
If everything is working then go to you postman and use the following URLs.
To highlight something in an article
To get all the highlights of a particular article
Delete a highlight comment
To share a highlight to different platforms
Any background context you want to provide?
What are the relevant pivotal tracker stories?
167313423
Screenshots (if appropriate)
Questions:
none