watson: add module
Watson is a CLI for tracking your time. Two unit tests were added to validate the module behavior for an empty configuration and the example configuration.
This commit is contained in:
parent
32da35f65b
commit
d469b9bf8a
9 changed files with 183 additions and 0 deletions
4
tests/modules/programs/watson/default.nix
Normal file
4
tests/modules/programs/watson/default.nix
Normal file
|
|
@ -0,0 +1,4 @@
|
|||
{
|
||||
watson-empty-settings = ./empty-settings.nix;
|
||||
watson-example-settings = ./example-settings.nix;
|
||||
}
|
||||
19
tests/modules/programs/watson/empty-settings.nix
Normal file
19
tests/modules/programs/watson/empty-settings.nix
Normal file
|
|
@ -0,0 +1,19 @@
|
|||
{ config, lib, pkgs, ... }:
|
||||
|
||||
with lib;
|
||||
|
||||
{
|
||||
programs.watson = {
|
||||
enable = true;
|
||||
package = config.lib.test.mkStubPackage { };
|
||||
};
|
||||
|
||||
nmt.script = let
|
||||
configDir = if pkgs.stdenv.hostPlatform.isDarwin then
|
||||
"home-files/Library/Application Support"
|
||||
else
|
||||
"home-files/.config";
|
||||
in ''
|
||||
assertPathNotExists ${configDir}/watson/config
|
||||
'';
|
||||
}
|
||||
14
tests/modules/programs/watson/example-settings-expected.ini
Normal file
14
tests/modules/programs/watson/example-settings-expected.ini
Normal file
|
|
@ -0,0 +1,14 @@
|
|||
[backend]
|
||||
token=yourapitoken
|
||||
url=https://api.crick.fr
|
||||
|
||||
[options]
|
||||
date_format=%Y.%m.%d
|
||||
log_current=false
|
||||
pager=true
|
||||
report_current=false
|
||||
reverse_log=true
|
||||
stop_on_restart=false
|
||||
stop_on_start=true
|
||||
time_format=%H:%M:%S%z
|
||||
week_start=monday
|
||||
40
tests/modules/programs/watson/example-settings.nix
Normal file
40
tests/modules/programs/watson/example-settings.nix
Normal file
|
|
@ -0,0 +1,40 @@
|
|||
{ config, lib, pkgs, ... }:
|
||||
|
||||
with lib;
|
||||
|
||||
{
|
||||
programs.watson = {
|
||||
enable = true;
|
||||
package = config.lib.test.mkStubPackage { };
|
||||
|
||||
settings = {
|
||||
backend = {
|
||||
url = "https://api.crick.fr";
|
||||
token = "yourapitoken";
|
||||
};
|
||||
|
||||
options = {
|
||||
stop_on_start = true;
|
||||
stop_on_restart = false;
|
||||
date_format = "%Y.%m.%d";
|
||||
time_format = "%H:%M:%S%z";
|
||||
week_start = "monday";
|
||||
log_current = false;
|
||||
pager = true;
|
||||
report_current = false;
|
||||
reverse_log = true;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
nmt.script = let
|
||||
configDir = if pkgs.stdenv.hostPlatform.isDarwin then
|
||||
"home-files/Library/Application Support"
|
||||
else
|
||||
"home-files/.config";
|
||||
in ''
|
||||
assertFileContent \
|
||||
"${configDir}/watson/config" \
|
||||
${./example-settings-expected.ini}
|
||||
'';
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue