add create record command#118
Conversation
dominikbraun
left a comment
There was a problem hiding this comment.
Looks good to me! I just requested that tiny cobra.ExactArgs change.
|
|
||
| // RecordCollides checks if the time of a record collides | ||
| // with other records of the same day and returns a bool | ||
| func (t *Timetrace) RecordCollides(toCheck Record) (bool, error) { |
There was a problem hiding this comment.
Glad that we finally have this function. It should be tested though - you can do it yourself if you want to, otherwise I'll write the test.
There was a problem hiding this comment.
Hm, I am not quite sure how to write the test for it. I would be glad to hear your approach - mocking the fs, or just creating a full core in the test? The easiest idea that came to my mind would be refactoring the part of the code that actually checks for collision to another method and just test this one. In this case, no mocking or fiddling with the core would be needed, right?
There was a problem hiding this comment.
Yes, you could just move the collision logic in a function that accepts Record instances and test that function. The loading of the records will be tested separately.
There was a problem hiding this comment.
Okay, I just did that and added the tests for it. I think all possible scenarios are tested, but if I missed some it should be easy to add more :)
dominikbraun
left a comment
There was a problem hiding this comment.
LGTM, thanks for implementing this! 👍
closes #97
I added the create record command. I also added checks that return an error if the end time is before the start time or the record collides with other records of the same day.