lazylead 0.10.2 → 0.10.3

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 1fa41cd073bf1df41fee51ab890e6fd72a379bc0f4fd3d6db118194bbbcad85f
4
- data.tar.gz: 310978fbc087cb95064a28c86e48f79cd03928217f03701df7976a74d8b0442b
3
+ metadata.gz: e2a3f17c4f0160f62b3faa0dd25179669f902d359961612701ab5b123ef2a7a2
4
+ data.tar.gz: d2a4ba8aa4d282362268a4b8911c1af9eaf425f83db9643f10dddefb8564eb53
5
5
  SHA512:
6
- metadata.gz: bacaf9e2ba2a774e979e4957ca8e18623188a419b0a9f5363ea237692dc9977376e78411bbe0fcf0f575a8ac80352258aaa35236554c824302ffa99d4994ebf3
7
- data.tar.gz: 7df938335a3179983280f254194cb9f1e8e6b3b0de2cf890ed97a38b7056d5aa0a3ec073ec0a3e1c47a5480c7f3f003be1f07a328e5da90a5f4f278e8c5be2ba
6
+ metadata.gz: 8093e705ee5fe376e98755ec187b3e981dce7b55243c497debb1b1f5384df8c6cab62f60f01949affe0cf8218d0d1acc7a21c62cc935a538e18df80efe7b0d15
7
+ data.tar.gz: c73d5edeede58fb972d219681456832f089ed2b08b75893c657dda86ef3c4c1d9eae47fde49e8335ea0f193b94e053744da47cea44c0c804d0e4145b95abcbab
data/lazylead.gemspec CHANGED
@@ -32,7 +32,7 @@ Gem::Specification.new do |s|
32
32
  s.rubygems_version = "2.2"
33
33
  s.required_ruby_version = ">=2.6.5"
34
34
  s.name = "lazylead"
35
- s.version = "0.10.2"
35
+ s.version = "0.10.3"
36
36
  s.license = "MIT"
37
37
  s.summary = "Eliminate the annoying work within bug-trackers."
38
38
  s.description = "Ticketing systems (Github, Jira, etc.) are strongly
@@ -45,7 +45,7 @@ tasks instead of solving technical problems."
45
45
  s.authors = ["Yurii Dubinka"]
46
46
  s.email = "yurii.dubinka@gmail.com"
47
47
  s.homepage = "http://github.com/dgroup/lazylead"
48
- s.post_install_message = "Thanks for installing Lazylead v0.10.2!
48
+ s.post_install_message = "Thanks for installing Lazylead v0.10.3!
49
49
  Read our blog posts: https://lazylead.org
50
50
  Stay in touch with the community in Telegram: https://t.me/lazylead
51
51
  Follow us on Twitter: https://twitter.com/lazylead
@@ -0,0 +1,49 @@
1
+ # frozen_string_literal: true
2
+
3
+ # The MIT License
4
+ #
5
+ # Copyright (c) 2019-2021 Yurii Dubinka
6
+ #
7
+ # Permission is hereby granted, free of charge, to any person obtaining a copy
8
+ # of this software and associated documentation files (the "Software"),
9
+ # to deal in the Software without restriction, including without limitation
10
+ # the rights to use, copy, modify, merge, publish, distribute, sublicense,
11
+ # and/or sell copies of the Software, and to permit persons to whom
12
+ # the Software is furnished to do so, subject to the following conditions:
13
+ #
14
+ # The above copyright notice and this permission notice shall be included
15
+ # in all copies or substantial portions of the Software.
16
+ #
17
+ # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
18
+ # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
19
+ # FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL THE
20
+ # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
21
+ # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
22
+ # ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE
23
+ # OR OTHER DEALINGS IN THE SOFTWARE.
24
+
25
+ require_relative "records"
26
+
27
+ module Lazylead
28
+ # Check that ticket has links to video record(s) with reproducing results.
29
+ class RecordsLink < Lazylead::Records
30
+ def initialize(*urls)
31
+ super([])
32
+ @urls = urls
33
+ end
34
+
35
+ def passed(issue)
36
+ link?(issue) || super(issue)
37
+ end
38
+
39
+ def link?(issue)
40
+ return false if issue.description.nil?
41
+ issue.description
42
+ .split("\n")
43
+ .reject(&:blank?)
44
+ .flat_map(&:split)
45
+ .reject(&:blank?)
46
+ .any? { |word| @urls.any? { |u| word.start_with? u } }
47
+ end
48
+ end
49
+ end
@@ -23,5 +23,5 @@
23
23
  # OR OTHER DEALINGS IN THE SOFTWARE.
24
24
 
25
25
  module Lazylead
26
- VERSION = "0.10.2"
26
+ VERSION = "0.10.3"
27
27
  end
@@ -0,0 +1,55 @@
1
+ # frozen_string_literal: true
2
+
3
+ # The MIT License
4
+ #
5
+ # Copyright (c) 2019-2021 Yurii Dubinka
6
+ #
7
+ # Permission is hereby granted, free of charge, to any person obtaining a copy
8
+ # of this software and associated documentation files (the "Software"),
9
+ # to deal in the Software without restriction, including without limitation
10
+ # the rights to use, copy, modify, merge, publish, distribute, sublicense,
11
+ # and/or sell copies of the Software, and to permit persons to whom
12
+ # the Software is furnished to do so, subject to the following conditions:
13
+ #
14
+ # The above copyright notice and this permission notice shall be included
15
+ # in all copies or substantial portions of the Software.
16
+ #
17
+ # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
18
+ # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
19
+ # FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL THE
20
+ # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
21
+ # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
22
+ # ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE
23
+ # OR OTHER DEALINGS IN THE SOFTWARE.
24
+
25
+ require_relative "../../../test"
26
+ require_relative "../../../../lib/lazylead/task/accuracy/records_link"
27
+
28
+ module Lazylead
29
+ class RecordsTest < Lazylead::Test
30
+ test "log file is present and link is absent" do
31
+ assert RecordsLink.new("https://youtube.com/xyz").passed(
32
+ OpenStruct.new(
33
+ attachments: [OpenStruct.new(attrs: { "size" => 10_241, "filename" => "steps.mp4" })]
34
+ )
35
+ )
36
+ end
37
+
38
+ test "file is absent but description has url to video" do
39
+ assert RecordsLink.new("https://youtube.com/xyz").passed(
40
+ OpenStruct.new(description: "Here is the reproducing steps: https://youtube.com/xyzzzzz")
41
+ )
42
+ end
43
+
44
+ test "several base urls to video" do
45
+ assert RecordsLink.new("https://site.a.com/xyz", "http://site.b.com/zyx").passed(
46
+ OpenStruct.new(description: "Here is the reproducing steps: http://site.b.com/zyx123. Wow!")
47
+ )
48
+ end
49
+
50
+ test "file is absent and link is absent" do
51
+ refute RecordsLink.new("https://youtube.com/xyz")
52
+ .passed(OpenStruct.new(attachments: []))
53
+ end
54
+ end
55
+ end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: lazylead
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.10.2
4
+ version: 0.10.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Yurii Dubinka
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-07-22 00:00:00.000000000 Z
11
+ date: 2021-07-23 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activerecord
@@ -697,6 +697,7 @@ files:
697
697
  - lib/lazylead/task/accuracy/logs_link.rb
698
698
  - lib/lazylead/task/accuracy/onlyll.rb
699
699
  - lib/lazylead/task/accuracy/records.rb
700
+ - lib/lazylead/task/accuracy/records_link.rb
700
701
  - lib/lazylead/task/accuracy/required.rb
701
702
  - lib/lazylead/task/accuracy/requirement.rb
702
703
  - lib/lazylead/task/accuracy/screenshots.rb
@@ -757,6 +758,7 @@ files:
757
758
  - test/lazylead/task/accuracy/logs_link_test.rb
758
759
  - test/lazylead/task/accuracy/logs_test.rb
759
760
  - test/lazylead/task/accuracy/onlyll_test.rb
761
+ - test/lazylead/task/accuracy/records_llink_test.rb
760
762
  - test/lazylead/task/accuracy/records_test.rb
761
763
  - test/lazylead/task/accuracy/score_test.rb
762
764
  - test/lazylead/task/accuracy/screenshots_test.rb
@@ -791,7 +793,7 @@ licenses:
791
793
  - MIT
792
794
  metadata: {}
793
795
  post_install_message: |-
794
- Thanks for installing Lazylead v0.10.2!
796
+ Thanks for installing Lazylead v0.10.3!
795
797
  Read our blog posts: https://lazylead.org
796
798
  Stay in touch with the community in Telegram: https://t.me/lazylead
797
799
  Follow us on Twitter: https://twitter.com/lazylead
@@ -835,6 +837,7 @@ test_files:
835
837
  - test/lazylead/task/accuracy/logs_link_test.rb
836
838
  - test/lazylead/task/accuracy/logs_test.rb
837
839
  - test/lazylead/task/accuracy/onlyll_test.rb
840
+ - test/lazylead/task/accuracy/records_llink_test.rb
838
841
  - test/lazylead/task/accuracy/records_test.rb
839
842
  - test/lazylead/task/accuracy/score_test.rb
840
843
  - test/lazylead/task/accuracy/screenshots_test.rb