testrail-lock.t 939 B

12345678910111213141516171819202122232425
  1. use strict;
  2. use warnings;
  3. use Test::More "tests" => 4;
  4. use FindBin;
  5. use IO::CaptureOutput qw{capture};
  6. use lib $FindBin::Bin.'/../bin';
  7. require 'testrail-lock';
  8. use lib $FindBin::Bin.'/lib';
  9. use Test::LWP::UserAgent::TestRailMock;
  10. my @args = qw{--help};
  11. $0 = $FindBin::Bin.'/../bin/testrail-lock';
  12. my $out;
  13. my (undef,$code) = capture {TestRail::Bin::Lock::run('args' => \@args)} \$out, \$out;
  14. is($code, 0, "Exit code OK asking for help");
  15. like($out,qr/encoding of arguments/i,"Help output OK");
  16. @args = (qw{--apiurl http://testrail.local --user test@fake.fake --password fake -j },"CRUSH ALL HUMANS", '-r', "SEND T-1000 INFILTRATION UNITS BACK IN TIME", qw{--lockname locked});
  17. ($out,$code) = TestRail::Bin::Lock::run('browser' => $Test::LWP::UserAgent::TestRailMock::mockObject, 'args' => \@args);
  18. is($code, 255, "Exit code bad when no case could be locked");
  19. chomp $out;
  20. like($out,qr/could not lock case/i,"Output is as expected");