DAVFoundation / dav-js

Enable integration of JavaScript, TypeScript, and Node.js code with the DAV Network
https://developers.dav.network/
MIT License
75 stars 50 forks source link

Update test for `src/ride-hailing/NeedFilterParams.test.ts` #55

Closed TalAter closed 6 years ago

TalAter commented 6 years ago

first-timers-only

This issue is tagged :octocat: first-timers-only. It is only for people who have never contributed to open source before, and are looking for an easy way take their first steps.

Consider this your chance to dip your toe into the world of open-source, and get some bragging rights for writing code that makes drones fly, lets cars find charging stations, helps people and goods get from place to place, and more.

Find more first-timers-only issues from DAV Foundation here.

Thank you for your help :heart:

What is this project?

DAV (Decentralized Autonomous Vehicles) is a new foundation working to build an open-source infrastructure for autonomous vehicles (cars, drones, trucks, robots, and all the service providers around them) to communicate and transact with each other over blockchain.

As an organization that believes in building a large community of open-source contributors, we often create issues like this one to help people take their first few steps into the world of open source.

dav-js

This repo contains the DAV JavaScript SDK. This SDK allows developers to build applications and servers that connect to the DAV network. For example, allowing a drone to find charging stations, or an autonomous car to ask for traffic data.

How you can help

In order to foster a community that is welcoming for open source contributions, it is important for us to have good test coverage. And good tests are simple, readable tests.

Here is a good opportunity to simplify one of our tests.

The Issue

In src/ride-hailing/NeedFilterParams.test.ts we defined the following parameters at the beginning of the describe() block.

  const needFilterParams = new NeedFilterParams({
    location: {
      lat: 32.050382,
      long: 34.766149,
    },
    radius: 2000,
  });
  needFilterParams.davId = 'davId';
  const serializedNeedFilterParams: any = {
    ttl: undefined,
    protocol: 'ride_hailing',
    type: 'need_filter',
    area: {
      max: {
        latitude: parseFloat((32.06836666390769).toFixed(6)),
        longitude: parseFloat((34.78737405278662).toFixed(6)),
      },
      min: {
        latitude: parseFloat((32.03239380095659).toFixed(6)),
        longitude: parseFloat((34.74493228891106).toFixed(6)),
      },
    },
    davId: 'davId',
  };

These parameters will need to accommodate additional unit tests.

Please update these parameters to be more dynamic by defining them to be mutable similar to src/vessel-charging/MissionParams.test.ts.

Parameters

After making your changes, run npm run jest to make sure our tests are passing.

Contributing to dav-js

Asking for help

We appreciate your effort in taking the time to work on this issue and help out the open source community and the foundation. If you need any help, feel free to ask below or in our gitter channel. We are always happy to help 😄

sark01 commented 6 years ago

@TalAter, Can I look into this?

TalAter commented 6 years ago

@sark01 go ahead!

sark01 commented 6 years ago

Hi @TalAter, I have updated the parameters but seem to be facing some sort of a linting issue. I get the following error message: Failed to lint: /home/sark01/Desktop/git/dav-js/src/ride-hailing/NeedFilterParams.test.ts [16, 3]: statements are not aligned. Could you please help.

TalAter commented 6 years ago

Can you upload the code of that file to a gist?

sark01 commented 6 years ago

@TalAter, I've uploaded the code, here is the link.

https://gist.github.com/sark01/3567a4c6e787e295f40dea382e9e3b37

sark01 commented 6 years ago

I have submitted a PR for it, I managed to fix the linting issue.

mariolo1985 commented 6 years ago

Nice work on powering through those lint issues @sark01!

debragail commented 5 years ago

how did you make that gif??

TalAter commented 5 years ago

I usually record and edit the videos using ScreenFlow, which can export to gif. Mac only (afaik), and paid, but I love it.