Giter Club home page Giter Club logo

reportingsystem's People

Contributors

dmitrysenin avatar

Watchers

 avatar  avatar

reportingsystem's Issues

Fix code after review

The following mistakes should be fixed:

  1. All C# methods' name should start with capital letter.
  2. Comment for blocks of code
  3. More meanful code constructions.

[JS]Gather stamps

Create system that collects stamps for day, checks and corrects it.

Respites computation tests.

Test logic of carrying out report of finding all respites for day.
The following cases should be tested:

  1. If data is correct then all respites should be found.
  2. If data is empty then no respites should be found.
    3, If maximum duration of respite equals to 0 then no respites should be found.

[JS]Reporting system

Implement all logic using JavaScript:

  1. Core functionality(issue: #19).
  2. Reports computation module(issue: #20):
  • Time of work for day
  • Respites for day

Extract hardcoded strings

Extract strings with:

  1. Description of protocol notification
  2. Messages of exceptions
    in daily reporter class to separated class.

[JS]Gather stamps tests.

The following cases should be covered:

  1. No first In-stamp.
  2. No last Out-stamp but there is next day first Out-stamp and its time satisfies restriction
  3. No last Out stamp and there is next day first Out-stamp and its time does not satisfy restriction
  4. No last Out stamp and no next day first Out-stamp
  5. Some of stamps was missed so it should be added using discussed logic
  6. One of two absolute equal stamps should be removed.
  7. All methods of gathering system should work correctly if there is no stamps for day.
  8. All methods should not change collection with stamps if it is absolutely correct.
  9. All methods should throw error if passed collection with stamps is not array.
  10. All methods should throw error if passed collection with notifications is not array.

[JS]Respites report.

Implement gathering all respites of employer for day.
Result of computation should be report protocol.

Data for reports

Create storage of employers time stamps with data to try reporting system.

Reporting system

Create system of classes to compute time reports of employers.

[JS]Time of work tests.

Cases to be tested:

  1. Correct computation if data is correct
  2. Correct computation if there is not data for day (time of work should be 0)
  3. Data for day contains mistakes:
  • No first In
  • No last Out(no next day Out)
  • There is equal stamps
  • One stamp are missed

[JS]Respites test.

Cases to be tested:

  1. Data is correct then all respites should be found
  2. No stamps for day than no respites for day
  3. Maximum duration of respites equals 0 than no respites are found
  4. Data for day contains mistakes than all respites after repair should be found. Data contains the following mistakes:
  • No first In
  • No last Out(no next day Out)
  • There is equal stamps
  • One stamp are missed

[JS]Reports

Create system of gathering and correction data for report (issue: #24 ).
Implement logic of computation of reports:

  1. Work time for day (issue: #25 )
  2. Total respites for day (issue: #26 )

Core

Implement core of the system:

  1. Create class to represent time stamp of employer.
  2. Add foundation of source of time stamp.

[JS]Time of work report.

Create system to compute employer work time for day.
System should return result as report protocol.

Test time of work report.

Add tests to check correctness of logic producing report of total time of work for day.
The following cases should be tested:

  1. If data is correct then should compute right time of work.
  2. If data is not correct then should compute right time of work using discussed business logic.
  3. If data does not exist then should produce 0 time.
  4. If data does not exist then protocol should contain message with this information.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.