1.0.2 • Published 5 years ago

quick-credit-api v1.0.2

Weekly downloads
4
License
ISC
Repository
github
Last release
5 years ago

Quick-credit-api-v1

Quick Credit is an online lending platform that provides short term soft loans to individuals.This helps solve problems of financial inclusion as away to alleviate poverty and empower low income earners.

Build Status Coverage Status CodeFactor dependencies Status devDependencies Status Maintainability

Folder structure

Within Quick-credit-api folder you WIll find the following directories and files. Cross check in any of the file misses the app may have a problem while bieng excetuted

            Quick-credit-api-v1/
                    │
                    ├── api/
                    │   ├── models/
                    │   ├── middleware/
                    │   └── routes
                    ├── tests/
                    ├── .gitignore/
                    ├── index.mjs
                    ├── package.json
                    └──README.md

Getting Started

By running the following command quick-credit-api will be automatically downloaded to your local machine so lets get started.

run

npm i quick-credit-api 

or

git clone https://github.com/swaibat/quick-credit-ui.git

Prerequisites

before you install the software make sure you have the following already installed on your machine

  • nodejs get it here
  • Nodemon installed globally by runing npm i nodemon -g

Installing api

A step by step series of examples that tell you how to get a development env running 1. run

npm i 

To install all the necessary packages on your local computer

  1. To start your sever
npm start

this will start your application and run on port 3000

  1. Endpoints and methods

So now you can access the following routes using provided methods

methodfor what
POSTTo POST NEW users and loans
GETTO GET all + specific users and loans
PATCHTo EDIT some portion of data

And repeat

Running the tests

TO run the test for the api

npm run test 

or you can view the completed tests on server via coveralls

Break down into end to end tests

these tests specifically targets the following 1. All the http methods to ease api usage and avoid errors in the code. 2. all Errors to easily identify error message and course of error. 3. Tests for Admin Access to specific routes to avoid other users Access to admin routes. 4. check whetther the tokens are posted successfully 5. All status codes to make sure all error and success are catered for

coding tests

all test are located in the test folder at the root called test and Mocha,Chaiand Supertest have been used as testing framework here is sample code

describe('Test Post Loans', () => {
  it('checks if loan posts', (done) => {
    request(app)
      .post('/api/v1/loans')
      .send({ user: 'joelb@gmail.com' })
      .set('Accept', 'application/json')
      .end((err, res) => {
        res.status.should.equal(201);
        res.body.should.have.property('status', 'pending');
        done();
      });
  });
});

Author

  • Rumbiiha Swaibu - Initial work - swaibat