deem-test-fixture 0.1.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (3) hide show
  1. checksums.yaml +7 -0
  2. data/lib/test_fixture.rb +88 -0
  3. metadata +70 -0
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA256:
3
+ metadata.gz: 912ac8aa31f0026e5e60f50531c70feee56322054705bfc3d6e4efca7117fca4
4
+ data.tar.gz: 7b9224d3cc8232a253eca603eb83b6a6d93df13b67dd8eb0c54f625abe5d90c2
5
+ SHA512:
6
+ metadata.gz: 4953f90a4188e98095c90a080b1f40752ca19cf4684bf7c39c614c3502c6551b801add8e9ad618e7e7f8d6acf027baf5bcbf675aadd8254aaefc28190cde6d66
7
+ data.tar.gz: b9475fe8f72bef46e2a2973bc600c8422971b62f039f1f0b5c69f463ca47c757a9633529e6dab24b3571ed349bece46969cf200f577209e88da866bc08b65a13
@@ -0,0 +1,88 @@
1
+ require 'date'
2
+ require 'json'
3
+ require 'minitest/autorun'
4
+ require 'minitest/hooks/test'
5
+ require 'minitest/reporters'
6
+
7
+ MiniTest::Reporters.use! MiniTest::Reporters::SpecReporter.new
8
+
9
+ module TestStatus
10
+ PASSED = :Passed
11
+ FAILED = :Failed
12
+ ERROR = :Error
13
+ end
14
+
15
+ class BaseTest < Minitest::Test
16
+ include Minitest::Hooks
17
+
18
+ def initialize(name)
19
+ super
20
+ @test_results = []
21
+ end
22
+
23
+ def produce_test_result
24
+ status = if passed?
25
+ TestStatus::PASSED
26
+ elsif error?
27
+ TestStatus::ERROR
28
+ else
29
+ TestStatus::FAILED
30
+ end
31
+ {
32
+ 'className' => class_name,
33
+ 'methodName' => name,
34
+ 'status' => status,
35
+ 'timestamp' => DateTime.now.strftime('%Q'),
36
+ 'score' => nil
37
+ }
38
+ end
39
+
40
+ def teardown
41
+ super
42
+ @test_results << produce_test_result
43
+ end
44
+
45
+ def after_all
46
+ super
47
+
48
+ dir_name = '.test_results'
49
+ FileUtils.mkdir_p(dir_name) unless Dir.exist?(dir_name)
50
+ file_name = "0#{DateTime.now.strftime('%Q')}-deem-test-#{class_name}.json"
51
+ File.open(File.join(Dir.pwd, dir_name, file_name), 'w+') do |file|
52
+ file.write(@test_results.to_json)
53
+ end
54
+ end
55
+ end
56
+
57
+ module TestType
58
+ PUBLIC = :Public
59
+ FUNCTIONAL = :Functional
60
+ SIGNAL = :Signal
61
+ end
62
+
63
+ class ScoredBaseTest < BaseTest
64
+
65
+ def initialize(name)
66
+ super
67
+ @test_results = []
68
+
69
+ @test_type = TestType::PUBLIC
70
+ @test_weight = 0
71
+ @test_signal = nil
72
+ end
73
+
74
+ def setup
75
+ @letter_board = LetterBoard.new
76
+ end
77
+
78
+ def produce_test_result
79
+ test_result = super
80
+ test_result['score'] = {
81
+ 'testType' => @test_type,
82
+ 'testWeight' => @test_weight,
83
+ 'testSignal' => @test_signal
84
+ }
85
+ test_result
86
+ end
87
+ end
88
+
metadata ADDED
@@ -0,0 +1,70 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: deem-test-fixture
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.1.5
5
+ platform: ruby
6
+ authors:
7
+ - Alexander Eliseyev
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2020-03-13 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: minitest-reporters
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - ">="
18
+ - !ruby/object:Gem::Version
19
+ version: '0'
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - ">="
25
+ - !ruby/object:Gem::Version
26
+ version: '0'
27
+ - !ruby/object:Gem::Dependency
28
+ name: minitest-hooks
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - ">="
32
+ - !ruby/object:Gem::Version
33
+ version: '0'
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - ">="
39
+ - !ruby/object:Gem::Version
40
+ version: '0'
41
+ description: Deem test fixture
42
+ email: alex@deem.ai
43
+ executables: []
44
+ extensions: []
45
+ extra_rdoc_files: []
46
+ files:
47
+ - lib/test_fixture.rb
48
+ homepage:
49
+ licenses: []
50
+ metadata: {}
51
+ post_install_message:
52
+ rdoc_options: []
53
+ require_paths:
54
+ - lib
55
+ required_ruby_version: !ruby/object:Gem::Requirement
56
+ requirements:
57
+ - - ">="
58
+ - !ruby/object:Gem::Version
59
+ version: '0'
60
+ required_rubygems_version: !ruby/object:Gem::Requirement
61
+ requirements:
62
+ - - ">="
63
+ - !ruby/object:Gem::Version
64
+ version: '0'
65
+ requirements: []
66
+ rubygems_version: 3.0.3
67
+ signing_key:
68
+ specification_version: 4
69
+ summary: Deem test fixture
70
+ test_files: []