Skip to content
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

Merged
merged 1 commit into from
Aug 29, 2019
Merged

Conversation

habinezadalvan
Copy link
Contributor

What does this PR do?

  • Highlights text the article

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

example of channels: facebook, linkedin, twitter

Any background context you want to provide?

  • used Sequelize framework to implement the functionality

What are the relevant pivotal tracker stories?

167313423

Screenshots (if appropriate)

Screen Shot 2019-08-28 at 18 49 46

Screen Shot 2019-08-28 at 14 37 54

Screen Shot 2019-08-28 at 14 38 30

Screen Shot 2019-08-28 at 14 39 25

Screen Shot 2019-08-28 at 14 40 42

Screen Shot 2019-08-28 at 14 41 26

Screen Shot 2019-08-28 at 15 50 23

Screen Shot 2019-08-28 at 14 38 09

Screen Shot 2019-08-28 at 18 31 17

Screen Shot 2019-08-28 at 18 38 44

Screen Shot 2019-08-28 at 18 43 00

Screen Shot 2019-08-28 at 18 47 51

Questions:

none

@@ -0,0 +1,106 @@
import { chai, server, expect } from './test-setup';
Copy link

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';
Copy link

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';
Copy link

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'

@salviosage salviosage temporarily deployed to codepirates-ah-backend-pr-47 August 28, 2019 17:18 Inactive
@@ -0,0 +1,274 @@
import sinon from 'sinon';
Copy link

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';
Copy link

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'

@habinezadalvan habinezadalvan temporarily deployed to codepirates-ah-backend-pr-47 August 28, 2019 17:36 Inactive
@habinezadalvan habinezadalvan temporarily deployed to codepirates-ah-backend-pr-47 August 29, 2019 07:30 Inactive
@@ -1,50 +1,50 @@
// import { chai, server, expect } from './test-setup';
// import Helper from '../src/helpers/helper';
import { chai, server, expect } from './test-setup';
Copy link

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) {
Copy link
Contributor

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

test/highlight.test.js Outdated Show resolved Hide resolved
@habinezadalvan habinezadalvan temporarily deployed to codepirates-ah-backend-pr-47 August 29, 2019 07:55 Inactive
nkalyesubula
nkalyesubula previously approved these changes Aug 29, 2019
Copy link
Contributor

@nkalyesubula nkalyesubula left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@habinezadalvan habinezadalvan temporarily deployed to codepirates-ah-backend-pr-47 August 29, 2019 09:13 Inactive
Mnickii
Mnickii previously approved these changes Aug 29, 2019
Copy link
Contributor

@Mnickii Mnickii left a 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]
@Mnickii Mnickii merged commit c0e940d into develop Aug 29, 2019
Mnickii added a commit that referenced this pull request Aug 29, 2019
* [[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
minega25 pushed a commit that referenced this pull request Aug 30, 2019
…in the article, comment on the highlight, and share the highlight on different social platforms [Finishes #167313423] (#47)
Mnickii added a commit that referenced this pull request Sep 2, 2019
* #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
salviosage pushed a commit that referenced this pull request Oct 17, 2019
…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]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants