checkoff 0.249.0 → 0.250.0

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.
data/rbi/checkoff.rbi CHANGED
@@ -75,7 +75,7 @@ module Overcommit
75
75
  end
76
76
 
77
77
  module Checkoff
78
- VERSION = '0.249.0'
78
+ VERSION = '0.250.0'
79
79
 
80
80
  class Attachments
81
81
  include Logging
@@ -2442,7 +2442,7 @@ end
2442
2442
  # typed: ignore
2443
2443
  # Command-line and gem client for Asana (unofficial)
2444
2444
  module Checkoff
2445
- VERSION = T.let('0.249.0', T.untyped)
2445
+ VERSION = T.let('0.250.0', T.untyped)
2446
2446
 
2447
2447
  # Move tasks from one place to another
2448
2448
  class MvSubcommand
@@ -6760,23 +6760,6 @@ end - [Checkoff::SelectorClasses::Section::FunctionEvaluator]).freeze, T.untyped
6760
6760
  sig { returns(Asana::Client) }
6761
6761
  attr_reader :client
6762
6762
  end
6763
-
6764
- # Remove TIME_BY_PERIOD redeclarations Sord emits on BaseAsana test subclasses.
6765
- module PruneRbiTestConstants
6766
- SUBCLASSES = T.let(%w[TestTasks TestProjects TestSections TestWorkspaces].freeze, T.untyped)
6767
-
6768
- # _@param_ `klass`
6769
- sig { params(klass: String).returns(Regexp) }
6770
- def self.pattern_for(klass); end
6771
-
6772
- # _@param_ `path`
6773
- sig { params(path: String).void }
6774
- def self.call(path); end
6775
-
6776
- # _@param_ `content`
6777
- sig { params(content: String).returns(String) }
6778
- def self.prune_subclasses(content); end
6779
- end
6780
6763
  end
6781
6764
 
6782
6765
  # include this to add ability to log at different levels
@@ -6834,2493 +6817,3 @@ module Asana
6834
6817
  end
6835
6818
  end
6836
6819
  end
6837
-
6838
- # :nocov:
6839
- # Module which adds helpers to run tests as if it was a specific date.
6840
- module TestDate
6841
- TIME_BY_PERIOD = T.let({
6842
- two_am: '02:00:20',
6843
- morning_during_breakfast: '07:30:20',
6844
- morning: '07:33:20',
6845
- eight_thirty_am: '8:30:00',
6846
- ten_am: '10:00:20',
6847
- mid_morning: '10:33:20',
6848
- eleven_thirty_am: '11:30:00',
6849
- afternoon: '14:33:20',
6850
- three_forty_five_pm: '15:45:20',
6851
- four_fifteen_pm: '16:15:20',
6852
- four_forty_five_pm: '16:45:20',
6853
- five_forty_five_pm: '17:45:20',
6854
- six_fifteen_pm: '18:15:00',
6855
- six_forty_five_pm: '18:45:00',
6856
- night: '19:00:20',
6857
- evening: '19:01:20',
6858
- late_evening: '21:33:20',
6859
- late_late_evening: '22:33:20',
6860
- }.freeze, T.untyped)
6861
-
6862
- sig { void }
6863
- def mock_date; end
6864
-
6865
- sig { params(zone: T.untyped).returns(T.untyped) }
6866
- def time_by_period(zone); end
6867
-
6868
- sig { params(zone: T.untyped).void }
6869
- def mock_now_with_zone(zone); end
6870
-
6871
- sig { void }
6872
- def mock_now; end
6873
-
6874
- sig { returns(T.untyped) }
6875
- attr_accessor :time_period
6876
-
6877
- sig { returns(T.untyped) }
6878
- attr_accessor :mock_date_str
6879
- end
6880
-
6881
- class TestTags < ClassTest
6882
- extend Forwardable
6883
-
6884
- sig { void }
6885
- def test_tag_or_raise_raises; end
6886
-
6887
- sig { void }
6888
- def test_tag_or_raise; end
6889
-
6890
- sig { returns(T.untyped) }
6891
- def expect_workspace_pulled; end
6892
-
6893
- sig { void }
6894
- def allow_tags_named; end
6895
-
6896
- sig { params(tag_arr: T.untyped).void }
6897
- def expect_tags_pulled(tag_arr); end
6898
-
6899
- sig { void }
6900
- def test_tag; end
6901
-
6902
- sig { params(only_uncompleted: T.untyped).void }
6903
- def mock_tasks(only_uncompleted: true); end
6904
-
6905
- sig { params(only_uncompleted: T.untyped).void }
6906
- def build_task_params(only_uncompleted); end
6907
-
6908
- sig { void }
6909
- def build_response_body; end
6910
-
6911
- sig { params(task_endpoint: T.untyped, task_params: T.untyped, merged_task_options: T.untyped).void }
6912
- def setup_client_expects(task_endpoint, task_params, merged_task_options); end
6913
-
6914
- sig { params(response_body: T.untyped).void }
6915
- def setup_response_expects(response_body); end
6916
-
6917
- sig { void }
6918
- def setup_collection_expects; end
6919
-
6920
- sig { void }
6921
- def generate_task_options; end
6922
-
6923
- sig { void }
6924
- def generate_merged_task_options; end
6925
-
6926
- sig { void }
6927
- def generate_task_endpoint; end
6928
-
6929
- sig { void }
6930
- def projects; end
6931
-
6932
- sig { void }
6933
- def test_tasks; end
6934
-
6935
- sig { void }
6936
- def test_tasks_with_completed; end
6937
-
6938
- sig { void }
6939
- def respond_like_instance_of; end
6940
-
6941
- sig { void }
6942
- def respond_like; end
6943
-
6944
- sig { void }
6945
- def class_under_test; end
6946
- end
6947
-
6948
- # Unit test Asana-related classes
6949
- class BaseAsana < ClassTest
6950
- include TestDate
6951
-
6952
- sig { params(extra_fields: T.untyped).void }
6953
- def task_options(extra_fields: []); end
6954
-
6955
- sig { void }
6956
- def task_options_with_completed; end
6957
-
6958
- sig { void }
6959
- def mock_date; end
6960
-
6961
- sig { params(zone: T.untyped).returns(T.untyped) }
6962
- def time_by_period(zone); end
6963
-
6964
- sig { params(zone: T.untyped).void }
6965
- def mock_now_with_zone(zone); end
6966
-
6967
- sig { void }
6968
- def mock_now; end
6969
- end
6970
-
6971
- # Test a class that uses initializer mocks.
6972
- class ClassTest < Minitest::Test
6973
- # Implement 'class_under_test' returning the class name to be
6974
- # initialized with keyword mocks
6975
- #
6976
- # obj = get_test_object do
6977
- # # Go ahead and use concrete value for constructor arg
6978
- # @mocks[:some_constructor_arg] = 123
6979
- # end
6980
- sig { params(clazz: T.untyped, twiddle_mocks: T.untyped).void }
6981
- def get_test_object(clazz = class_under_test, &twiddle_mocks); end
6982
-
6983
- sig { void }
6984
- def respond_like_instance_of; end
6985
-
6986
- sig { void }
6987
- def respond_like; end
6988
-
6989
- sig { params(clazz: T.untyped).void }
6990
- def create_object(clazz = class_under_test); end
6991
- end
6992
-
6993
- # Test the Checkoff::Tasks class
6994
- class TestTasks < BaseAsana
6995
- extend Forwardable
6996
- TIME_BY_PERIOD = T.let({
6997
- two_am: '02:00:20',
6998
- morning_during_breakfast: '07:30:20',
6999
- morning: '07:33:20',
7000
- eight_thirty_am: '8:30:00',
7001
- ten_am: '10:00:20',
7002
- mid_morning: '10:33:20',
7003
- eleven_thirty_am: '11:30:00',
7004
- afternoon: '14:33:20',
7005
- three_forty_five_pm: '15:45:20',
7006
- four_fifteen_pm: '16:15:20',
7007
- four_forty_five_pm: '16:45:20',
7008
- five_forty_five_pm: '17:45:20',
7009
- six_fifteen_pm: '18:15:00',
7010
- six_forty_five_pm: '18:45:00',
7011
- night: '19:00:20',
7012
- evening: '19:01:20',
7013
- late_evening: '21:33:20',
7014
- late_late_evening: '22:33:20',
7015
- }.freeze, T.untyped)
7016
-
7017
- sig { void }
7018
- def expect_now_pulled; end
7019
-
7020
- sig { params(less_than_now: T.untyped).void }
7021
- def expect_due_on_parsed(less_than_now:); end
7022
-
7023
- sig { params(less_than_now: T.untyped).void }
7024
- def expect_start_on_parsed(less_than_now:); end
7025
-
7026
- sig { params(less_than_now: T.untyped).void }
7027
- def expect_start_at_parsed(less_than_now:); end
7028
-
7029
- sig { void }
7030
- def mock_task_ready_false_due_in_future_on_date; end
7031
-
7032
- sig { void }
7033
- def test_task_ready_false_due_in_future_on_date; end
7034
-
7035
- sig { returns(T.untyped) }
7036
- def mock_task_ready_true_start_in_past; end
7037
-
7038
- sig { void }
7039
- def test_task_ready_true_start_in_past; end
7040
-
7041
- sig { void }
7042
- def mock_task_ready_true_start_in_past_time; end
7043
-
7044
- sig { void }
7045
- def test_task_ready_true_start_in_past_time; end
7046
-
7047
- sig { params(less_than_now: T.untyped).void }
7048
- def expect_due_at_parsed(less_than_now:); end
7049
-
7050
- sig { void }
7051
- def mock_task_ready_false_due_in_future_at_time; end
7052
-
7053
- sig { void }
7054
- def test_task_ready_false_due_in_future_at_time; end
7055
-
7056
- sig { params(task: T.untyped, dependency_gids: T.untyped).void }
7057
- def expect_dependency_gids_pulled(task, dependency_gids); end
7058
-
7059
- sig { void }
7060
- def test_task_ready_true_no_due_anything; end
7061
-
7062
- sig { void }
7063
- def expect_asana_tasks_client_pulled; end
7064
-
7065
- sig { void }
7066
- def default_fields; end
7067
-
7068
- sig { params(extra_fields: T.untyped).void }
7069
- def fields_including(extra_fields); end
7070
-
7071
- sig { params(dependency_gid: T.untyped, dependency_full_task: T.untyped, completed: T.untyped).void }
7072
- def expect_dependency_completion_pulled(dependency_gid, dependency_full_task, completed); end
7073
-
7074
- sig { void }
7075
- def mock_task_ready_false_dependency; end
7076
-
7077
- sig { returns(T.untyped) }
7078
- def test_task_ready_false_dependency; end
7079
-
7080
- sig { void }
7081
- def test_task_ready_false_dependency_cached; end
7082
-
7083
- sig do
7084
- params(
7085
- start_on: T.untyped,
7086
- start_at: T.untyped,
7087
- due_on: T.untyped,
7088
- due_at: T.untyped
7089
- ).void
7090
- end
7091
- def allow_task_due(start_on: nil, start_at: nil, due_on: nil, due_at: nil); end
7092
-
7093
- sig { params(task: T.untyped, start_at: T.untyped).void }
7094
- def allow_start_at_pulled(task, start_at); end
7095
-
7096
- sig { params(task: T.untyped, start_on: T.untyped).returns(T.untyped) }
7097
- def allow_start_on_pulled(task, start_on); end
7098
-
7099
- sig { params(task: T.untyped, due_at: T.untyped).void }
7100
- def allow_due_at_pulled(task, due_at); end
7101
-
7102
- sig { params(task: T.untyped, due_on: T.untyped).returns(T.untyped) }
7103
- def allow_due_on_pulled(task, due_on); end
7104
-
7105
- sig { returns(T.untyped) }
7106
- def test_url_of_task; end
7107
-
7108
- sig { returns(T.untyped) }
7109
- def expect_task_created; end
7110
-
7111
- sig { void }
7112
- def mock_add_task; end
7113
-
7114
- sig { void }
7115
- def test_add_task; end
7116
-
7117
- sig { returns(T.untyped) }
7118
- def expect_tasks_from_project_pulled; end
7119
-
7120
- sig { void }
7121
- def expect_project_pulled; end
7122
-
7123
- sig { params(extra_fields: T.untyped).returns(T.untyped) }
7124
- def expect_task_by_gid_pulled(extra_fields: []); end
7125
-
7126
- sig { returns(T.untyped) }
7127
- def expect_tasks_from_section_pulled; end
7128
-
7129
- sig { returns(T.untyped) }
7130
- def projects; end
7131
-
7132
- sig { returns(T.untyped) }
7133
- def expect_task_options_pulled; end
7134
-
7135
- sig { returns(T.untyped) }
7136
- def mock_task_with_section; end
7137
-
7138
- sig { void }
7139
- def test_task_with_section; end
7140
-
7141
- sig { returns(T.untyped) }
7142
- def mock_task; end
7143
-
7144
- sig { void }
7145
- def test_task; end
7146
-
7147
- sig { void }
7148
- def test_in_portfolio_more_than_once; end
7149
-
7150
- sig { void }
7151
- def test_in_portfolio_more_than_once_true; end
7152
-
7153
- sig { void }
7154
- def test_gid_for_task; end
7155
-
7156
- sig { void }
7157
- def test_gid_for_task_not_found; end
7158
-
7159
- sig { returns(T.untyped) }
7160
- def test_task_to_h_delegates; end
7161
-
7162
- sig { void }
7163
- def expect_default_workspace_name_pulled; end
7164
-
7165
- sig { void }
7166
- def mock_in_portfolio_named_false_no_projects_no_memberships; end
7167
-
7168
- sig { void }
7169
- def test_in_portfolio_named_false_no_projects_no_memberships; end
7170
-
7171
- sig { void }
7172
- def mock_in_portfolio_named_false_no_projects_but_memberships; end
7173
-
7174
- sig { void }
7175
- def test_in_portfolio_named_false_no_projects_but_memberships; end
7176
-
7177
- sig { void }
7178
- def mock_in_portfolio_named_false_projects_wrong_memberships; end
7179
-
7180
- sig { void }
7181
- def test_in_portfolio_named_false_projects_wrong_memberships; end
7182
-
7183
- sig { void }
7184
- def test_date_or_time_field_by_name; end
7185
-
7186
- sig { void }
7187
- def test_h_to_task; end
7188
-
7189
- sig { void }
7190
- def test_all_dependent_tasks_empty; end
7191
-
7192
- sig { void }
7193
- def test_all_dependent_tasks_one; end
7194
-
7195
- sig { void }
7196
- def test_as_cache_key; end
7197
-
7198
- sig { void }
7199
- def class_under_test; end
7200
- end
7201
-
7202
- # Test the Checkoff::CLI class with mv subcommand
7203
- class TestCLIMv < Minitest::Test
7204
- sig { void }
7205
- def expect_workspaces_created; end
7206
-
7207
- sig { void }
7208
- def expect_config_loaded; end
7209
-
7210
- sig { void }
7211
- def expect_sections_created; end
7212
-
7213
- sig { void }
7214
- def expect_tasks_created; end
7215
-
7216
- sig { void }
7217
- def set_mocks; end
7218
-
7219
- sig { params(_twiddle_mocks: T.untyped).void }
7220
- def get_test_object(&_twiddle_mocks); end
7221
-
7222
- sig { void }
7223
- def mock_mv_original_use_case; end
7224
-
7225
- sig { void }
7226
- def test_mv_original_use_case; end
7227
- end
7228
-
7229
- class TestEvents < ClassTest
7230
- extend Forwardable
7231
-
7232
- sig { void }
7233
- def mock_filter_asana_events_true; end
7234
-
7235
- sig { void }
7236
- def test_filter_asana_events_true; end
7237
-
7238
- sig { void }
7239
- def test_filter_asana_events_false; end
7240
-
7241
- sig { void }
7242
- def class_under_test; end
7243
-
7244
- sig { void }
7245
- def respond_like_instance_of; end
7246
-
7247
- sig { void }
7248
- def respond_like; end
7249
- end
7250
-
7251
- # No security (symbold denial of servie) issue; not building
7252
- # OpenStruct from untrusted user data.
7253
- #
7254
- # rubocop:disable Style/OpenStructUse
7255
- class MyOpenStruct < OpenStruct
7256
- sig { params(sym: T.untyped).void }
7257
- def delete(sym); end
7258
-
7259
- sig { params(hash: T.untyped).returns(T.untyped) }
7260
- def merge!(hash); end
7261
- end
7262
-
7263
- module Mocha
7264
- class Mock
7265
- sig { params(expected: T.untyped).returns(T::Boolean) }
7266
- def is_a?(expected); end
7267
- end
7268
- end
7269
-
7270
- class TestTiming < ClassTest
7271
- extend Forwardable
7272
-
7273
- sig { void }
7274
- def test_in_period_this_week_date_true; end
7275
-
7276
- sig { void }
7277
- def test_in_period_this_week_nil_true; end
7278
-
7279
- sig { void }
7280
- def test_in_period_day_of_week_nil_false; end
7281
-
7282
- sig { void }
7283
- def test_in_period_day_of_week_saturday_false; end
7284
-
7285
- sig { void }
7286
- def test_in_period_indefinite_true; end
7287
-
7288
- sig { void }
7289
- def test_in_period_bad_period; end
7290
-
7291
- sig { void }
7292
- def test_in_period_bad_compound_period; end
7293
-
7294
- sig { void }
7295
- def class_under_test; end
7296
-
7297
- sig { void }
7298
- def respond_like_instance_of; end
7299
-
7300
- sig { void }
7301
- def respond_like; end
7302
- end
7303
-
7304
- class TestClients < ClassTest
7305
- extend Forwardable
7306
-
7307
- sig { void }
7308
- def expect_client_created; end
7309
-
7310
- sig { void }
7311
- def mock_client; end
7312
-
7313
- sig { void }
7314
- def test_client; end
7315
-
7316
- sig { void }
7317
- def class_under_test; end
7318
- end
7319
-
7320
- # Test the Checkoff::CLI class with the help option
7321
- class TestCLIHelp < Minitest::Test
7322
- sig { void }
7323
- def expect_workspaces_created; end
7324
-
7325
- sig { void }
7326
- def expect_config_loaded; end
7327
-
7328
- sig { void }
7329
- def expect_sections_created; end
7330
-
7331
- sig { void }
7332
- def expect_tasks_created; end
7333
-
7334
- sig { returns(T.untyped) }
7335
- def set_mocks; end
7336
-
7337
- sig { params(twiddle_mocks: T.untyped).void }
7338
- def get_test_object(&twiddle_mocks); end
7339
-
7340
- sig { void }
7341
- def test_run_with_help_arg; end
7342
- end
7343
-
7344
- # Test the Checkoff::CLI class with view subcommand
7345
- class TestCLIView < Minitest::Test
7346
- sig { void }
7347
- def expected_json_no_section_specified; end
7348
-
7349
- sig { void }
7350
- def section_name_str; end
7351
-
7352
- sig { void }
7353
- def project_name; end
7354
-
7355
- sig { void }
7356
- def task_name; end
7357
-
7358
- sig { void }
7359
- def expect_tasks_by_section_pulled; end
7360
-
7361
- sig { void }
7362
- def expect_client_pulled; end
7363
-
7364
- sig { params(due_on: T.untyped, due_at: T.untyped).void }
7365
- def mock_run_with_no_section_specified_normal_project(due_on:, due_at:); end
7366
-
7367
- sig { params(task: T.untyped, task_name: T.untyped).void }
7368
- def expect_task_named(task, task_name); end
7369
-
7370
- sig { params(task: T.untyped, due_on: T.untyped).void }
7371
- def expect_task_due_on(task, due_on); end
7372
-
7373
- sig { params(task: T.untyped, due_at: T.untyped).void }
7374
- def expect_task_due_at(task, due_at); end
7375
-
7376
- sig { void }
7377
- def three_tasks; end
7378
-
7379
- sig do
7380
- params(
7381
- task: T.untyped,
7382
- task_name: T.untyped,
7383
- due_on: T.untyped,
7384
- due_at: T.untyped
7385
- ).void
7386
- end
7387
- def expect_task_queried(task, task_name, due_on, due_at); end
7388
-
7389
- sig { params(due_on: T.untyped, due_at: T.untyped).returns(T.untyped) }
7390
- def expect_three_tasks_queried(due_on:, due_at:); end
7391
-
7392
- sig { void }
7393
- def workspace_name; end
7394
-
7395
- sig { void }
7396
- def allow_workspaces_created; end
7397
-
7398
- sig { void }
7399
- def allow_config_loaded; end
7400
-
7401
- sig { void }
7402
- def allow_sections_created; end
7403
-
7404
- sig { void }
7405
- def allow_tasks_created; end
7406
-
7407
- sig { void }
7408
- def allow_clients_created; end
7409
-
7410
- sig { void }
7411
- def set_mocks; end
7412
-
7413
- sig { params(_twiddle_mocks: T.untyped).void }
7414
- def get_test_object(&_twiddle_mocks); end
7415
-
7416
- sig { void }
7417
- def test_run_with_no_section_specified_normal_project; end
7418
-
7419
- sig do
7420
- params(
7421
- project_name: T.untyped,
7422
- section_name: T.untyped,
7423
- due_on: T.untyped,
7424
- due_at: T.untyped
7425
- ).void
7426
- end
7427
- def expect_three_tasks_pulled_and_queried(project_name:, section_name:, due_on:, due_at:); end
7428
-
7429
- sig do
7430
- params(
7431
- project_name: T.untyped,
7432
- section_name: T.untyped,
7433
- due_at: T.untyped,
7434
- due_on: T.untyped
7435
- ).void
7436
- end
7437
- def mock_view(project_name:, section_name:, due_at:, due_on:); end
7438
-
7439
- sig { params(section_name: T.untyped).void }
7440
- def mock_view_specific_task(section_name:); end
7441
-
7442
- sig { void }
7443
- def test_view_specific_task_nil_section; end
7444
-
7445
- sig { void }
7446
- def test_view_specific_task; end
7447
-
7448
- sig { void }
7449
- def expected_json_section_specified; end
7450
-
7451
- sig { void }
7452
- def mock_view_run_with_section_specified_empty_section; end
7453
-
7454
- sig { void }
7455
- def test_view_run_with_section_specified_empty_section; end
7456
-
7457
- sig { returns(T.untyped) }
7458
- def mock_view_run_with_section_specified_normal_project_colon_project; end
7459
-
7460
- sig { returns(T.untyped) }
7461
- def test_view_run_with_section_specified_normal_project_colon_project; end
7462
-
7463
- sig { void }
7464
- def mock_view_run_with_section_specified_normal_project; end
7465
-
7466
- sig { returns(T.untyped) }
7467
- def test_view_run_with_section_specified_normal_project; end
7468
-
7469
- sig { void }
7470
- def mock_run_with_no_project_specified; end
7471
-
7472
- sig { void }
7473
- def test_run_with_no_project_specified; end
7474
-
7475
- sig { returns(T.untyped) }
7476
- def expected_json_view_not_due; end
7477
-
7478
- sig { returns(T.untyped) }
7479
- def test_view_not_due; end
7480
-
7481
- sig { void }
7482
- def expected_json_view_due_at; end
7483
-
7484
- sig { returns(T.untyped) }
7485
- def test_view_due_at; end
7486
- end
7487
-
7488
- # Test the Checkoff::Projects class
7489
- class TestProjects < BaseAsana
7490
- extend Forwardable
7491
- TIME_BY_PERIOD = T.let({
7492
- two_am: '02:00:20',
7493
- morning_during_breakfast: '07:30:20',
7494
- morning: '07:33:20',
7495
- eight_thirty_am: '8:30:00',
7496
- ten_am: '10:00:20',
7497
- mid_morning: '10:33:20',
7498
- eleven_thirty_am: '11:30:00',
7499
- afternoon: '14:33:20',
7500
- three_forty_five_pm: '15:45:20',
7501
- four_fifteen_pm: '16:15:20',
7502
- four_forty_five_pm: '16:45:20',
7503
- five_forty_five_pm: '17:45:20',
7504
- six_fifteen_pm: '18:15:00',
7505
- six_forty_five_pm: '18:45:00',
7506
- night: '19:00:20',
7507
- evening: '19:01:20',
7508
- late_evening: '21:33:20',
7509
- late_late_evening: '22:33:20',
7510
- }.freeze, T.untyped)
7511
-
7512
- sig { void }
7513
- def setup_config; end
7514
-
7515
- sig { void }
7516
- def setup_projects_pulled; end
7517
-
7518
- sig { void }
7519
- def sample_projects; end
7520
-
7521
- sig { params(workspace_gid: T.untyped).returns(T.untyped) }
7522
- def setup_projects_queried(workspace_gid: my_workspace_gid); end
7523
-
7524
- sig { params(options: T.untyped).void }
7525
- def expect_tasks_found(options:); end
7526
-
7527
- sig { params(options: T.untyped).void }
7528
- def mock_tasks_from_project(options:); end
7529
-
7530
- sig { void }
7531
- def test_tasks_from_project_not_only_uncompleted; end
7532
-
7533
- sig { void }
7534
- def test_tasks_from_project; end
7535
-
7536
- sig { void }
7537
- def test_active_tasks; end
7538
-
7539
- sig { void }
7540
- def setup_workspace_pulled; end
7541
-
7542
- sig { void }
7543
- def setup_user_task_list_pulled; end
7544
-
7545
- sig { void }
7546
- def mock_project_or_raise_unknown; end
7547
-
7548
- sig { void }
7549
- def test_project_or_raise_unknown; end
7550
-
7551
- sig { returns(T.untyped) }
7552
- def test_project_by_gid; end
7553
-
7554
- sig { void }
7555
- def test_project_or_raise_my_tasks; end
7556
-
7557
- sig { returns(T.untyped) }
7558
- def mock_project_my_tasks; end
7559
-
7560
- sig { void }
7561
- def test_project_my_tasks; end
7562
-
7563
- sig { returns(T.untyped) }
7564
- def test_project_to_h; end
7565
-
7566
- sig { returns(T.untyped) }
7567
- def mock_test_in_period; end
7568
-
7569
- sig { void }
7570
- def test_in_period; end
7571
-
7572
- sig { void }
7573
- def mock_project_ready; end
7574
-
7575
- sig { void }
7576
- def test_project_ready; end
7577
-
7578
- sig { void }
7579
- def class_under_test; end
7580
- end
7581
-
7582
- # Test the Checkoff::Sections class
7583
- class TestSections < BaseAsana
7584
- extend Forwardable
7585
- TIME_BY_PERIOD = T.let({
7586
- two_am: '02:00:20',
7587
- morning_during_breakfast: '07:30:20',
7588
- morning: '07:33:20',
7589
- eight_thirty_am: '8:30:00',
7590
- ten_am: '10:00:20',
7591
- mid_morning: '10:33:20',
7592
- eleven_thirty_am: '11:30:00',
7593
- afternoon: '14:33:20',
7594
- three_forty_five_pm: '15:45:20',
7595
- four_fifteen_pm: '16:15:20',
7596
- four_forty_five_pm: '16:45:20',
7597
- five_forty_five_pm: '17:45:20',
7598
- six_fifteen_pm: '18:15:00',
7599
- six_forty_five_pm: '18:45:00',
7600
- night: '19:00:20',
7601
- evening: '19:01:20',
7602
- late_evening: '21:33:20',
7603
- late_late_evening: '22:33:20',
7604
- }.freeze, T.untyped)
7605
-
7606
- sig { void }
7607
- def test_section_task_names_no_tasks; end
7608
-
7609
- sig { returns(T.untyped) }
7610
- def projects; end
7611
-
7612
- sig { void }
7613
- def test_section_task_names; end
7614
-
7615
- sig { void }
7616
- def mock_sections_or_raise; end
7617
-
7618
- sig { void }
7619
- def test_sections_or_raise; end
7620
-
7621
- sig { void }
7622
- def test_sections_or_raise_nil_project_name; end
7623
-
7624
- sig { params(project: T.untyped, tasks_arr: T.untyped, active_tasks_arr: T.untyped).void }
7625
- def expect_my_tasks_pulled(project, tasks_arr, active_tasks_arr); end
7626
-
7627
- sig { params(section: T.untyped, name: T.untyped).void }
7628
- def expect_section_named(section, name); end
7629
-
7630
- sig { params(task: T.untyped, section: T.untyped).void }
7631
- def expect_assignee_section_pulled(task, section); end
7632
-
7633
- sig { void }
7634
- def expect_my_tasks_sections_pulled; end
7635
-
7636
- sig { returns(T.untyped) }
7637
- def expect_my_tasks_tasks_pulled; end
7638
-
7639
- sig { void }
7640
- def mock_tasks_by_section_my_tasks; end
7641
-
7642
- sig { void }
7643
- def test_tasks_by_section_my_tasks; end
7644
-
7645
- sig { returns(T.untyped) }
7646
- def test_tasks_by_section_nil_workspace_name; end
7647
-
7648
- sig { void }
7649
- def test_tasks_by_section_nil_project_name; end
7650
-
7651
- sig { void }
7652
- def test_tasks_by_section_some_in_empty_section; end
7653
-
7654
- sig { void }
7655
- def expect_project_a_tasks_pulled; end
7656
-
7657
- sig { returns(T.untyped) }
7658
- def test_tasks_by_section; end
7659
-
7660
- sig { params(task: T.untyped, name: T.untyped).void }
7661
- def expect_named(task, name); end
7662
-
7663
- sig { params(project: T.untyped, tasks_arr: T.untyped, active_tasks_arr: T.untyped).void }
7664
- def expect_tasks_pulled(project, tasks_arr, active_tasks_arr); end
7665
-
7666
- sig { params(workspace: T.untyped, project: T.untyped, project_name: T.untyped).void }
7667
- def expect_project_pulled(workspace, project, project_name); end
7668
-
7669
- sig { returns(T.untyped) }
7670
- def expect_task_project_memberships_queried; end
7671
-
7672
- sig { params(section_name: T.untyped).returns(T.untyped) }
7673
- def expect_task_section_memberships_queried(section_name); end
7674
-
7675
- sig { params(section_name: T.untyped).returns(T.untyped) }
7676
- def expect_task_memberships_queried(section_name); end
7677
-
7678
- sig do
7679
- params(
7680
- workspace: T.untyped,
7681
- project: T.untyped,
7682
- project_name: T.untyped,
7683
- section_name: T.untyped
7684
- ).returns(T.untyped)
7685
- end
7686
- def expect_tasks_and_sections_pulled(workspace, project, project_name, section_name); end
7687
-
7688
- sig { params(project: T.untyped, gid: T.untyped).void }
7689
- def expect_project_gid_pulled(project, gid); end
7690
-
7691
- sig { returns(T.untyped) }
7692
- def expect_sections_client_pulled; end
7693
-
7694
- sig { params(project_gid: T.untyped, sections_array: T.untyped).void }
7695
- def expect_project_sections_pulled(project_gid, sections_array); end
7696
-
7697
- sig { void }
7698
- def original_task_options; end
7699
-
7700
- sig { params(only_uncompleted: T.untyped).returns(T.untyped) }
7701
- def fixed_task_options(only_uncompleted:); end
7702
-
7703
- sig { params(section_gid: T.untyped, task_list: T.untyped, only_uncompleted: T.untyped).void }
7704
- def expect_tasks_api_called_for_section(section_gid, task_list, only_uncompleted:); end
7705
-
7706
- sig { void }
7707
- def expect_section_1_gid_pulled; end
7708
-
7709
- sig { returns(T.untyped) }
7710
- def expect_section_2_gid_pulled; end
7711
-
7712
- sig { returns(T.untyped) }
7713
- def expect_client_tasks_api_pulled; end
7714
-
7715
- sig do
7716
- params(
7717
- section: T.untyped,
7718
- section_gid: T.untyped,
7719
- task_list: T.untyped,
7720
- only_uncompleted: T.untyped
7721
- ).returns(T.untyped)
7722
- end
7723
- def expect_section_tasks_pulled(section, section_gid, task_list, only_uncompleted:); end
7724
-
7725
- sig { void }
7726
- def test_tasks_not_only_uncompleted; end
7727
-
7728
- sig { returns(T.untyped) }
7729
- def allow_section_1_name_pulled; end
7730
-
7731
- sig { returns(T.untyped) }
7732
- def allow_section_2_name_pulled; end
7733
-
7734
- sig { returns(T.untyped) }
7735
- def allow_empty_section_name_pulled; end
7736
-
7737
- sig { params(only_uncompleted: T.untyped).void }
7738
- def mock_tasks_normal_project(only_uncompleted:); end
7739
-
7740
- sig { returns(T.untyped) }
7741
- def test_tasks_normal_project; end
7742
-
7743
- sig { void }
7744
- def test_tasks_by_section_gid; end
7745
-
7746
- sig { void }
7747
- def test_tasks_by_section_also_completed; end
7748
-
7749
- sig { returns(T.untyped) }
7750
- def mock_tasks_inbox; end
7751
-
7752
- sig { returns(T.untyped) }
7753
- def test_tasks_inbox; end
7754
-
7755
- sig { returns(T.untyped) }
7756
- def test_tasks_section_not_found; end
7757
-
7758
- sig { returns(T.untyped) }
7759
- def test_tasks_project_not_found; end
7760
-
7761
- sig { void }
7762
- def test_previous_section; end
7763
-
7764
- sig { returns(T.untyped) }
7765
- def test_previous_section_on_inbox_returns_nil; end
7766
-
7767
- sig { void }
7768
- def test_section_by_gid; end
7769
-
7770
- sig { void }
7771
- def test_section_by_gid_bad_server_data; end
7772
-
7773
- sig { void }
7774
- def respond_like_instance_of; end
7775
-
7776
- sig { void }
7777
- def respond_like; end
7778
-
7779
- sig { void }
7780
- def class_under_test; end
7781
- end
7782
-
7783
- class TestSubtasks < ClassTest
7784
- extend Forwardable
7785
-
7786
- sig { void }
7787
- def task_options; end
7788
-
7789
- sig { void }
7790
- def subtask_options; end
7791
-
7792
- # refute(subtasks.all_subtasks_completed?(task))
7793
- # end
7794
- sig { params(active_subtasks: T.untyped).returns(T.untyped) }
7795
- def expect_active_subtasks_pulled(active_subtasks); end
7796
-
7797
- sig { void }
7798
- def allow_all_section_status_queried; end
7799
-
7800
- # assert(subtasks.all_subtasks_completed?(task))
7801
- # end
7802
- sig { params(subtask: T.untyped, result: T.untyped).returns(T.untyped) }
7803
- def allow_subtask_section_status_queried(subtask, result); end
7804
-
7805
- sig { void }
7806
- def allow_subtask_section_1_named; end
7807
-
7808
- sig { void }
7809
- def allow_subtask_section_2_named; end
7810
-
7811
- sig { void }
7812
- def allow_subtask_section_3_named; end
7813
-
7814
- sig { void }
7815
- def allow_subtask_names_queried; end
7816
-
7817
- sig { void }
7818
- def mock_by_section; end
7819
-
7820
- sig { void }
7821
- def expect_raw_subtasks_pulled; end
7822
-
7823
- sig { void }
7824
- def class_under_test; end
7825
-
7826
- sig { void }
7827
- def respond_like_instance_of; end
7828
-
7829
- sig { void }
7830
- def respond_like; end
7831
- end
7832
-
7833
- class TestTimelines < ClassTest
7834
- extend Forwardable
7835
-
7836
- sig { void }
7837
- def test_task_dependent_on_previous_section_last_milestone_no_memberships; end
7838
-
7839
- sig { void }
7840
- def mock_task_dependent_on_previous_section_last_milestone_false_no_dependencies; end
7841
-
7842
- sig { void }
7843
- def test_task_dependent_on_previous_section_last_milestone_false_no_dependencies_; end
7844
-
7845
- sig { params(task: T.untyped, task_data: T.untyped).void }
7846
- def expect_task_data_created(task, task_data); end
7847
-
7848
- sig { returns(T.untyped) }
7849
- def expect_section_2_pulled; end
7850
-
7851
- sig { void }
7852
- def expect_section_2_previous_section_called; end
7853
-
7854
- sig { void }
7855
- def expect_section_1_gid_pulled; end
7856
-
7857
- sig { void }
7858
- def expect_no_section_1_tasks; end
7859
-
7860
- sig { void }
7861
- def mock_task_dependent_on_previous_section_last_milestone_true_no_tasks; end
7862
-
7863
- sig { void }
7864
- def test_task_dependent_on_previous_section_last_milestone_true_no_tasks; end
7865
-
7866
- sig { void }
7867
- def expect_section_1_tasks_pulled; end
7868
-
7869
- sig { void }
7870
- def expect_milestone_queried; end
7871
-
7872
- sig { void }
7873
- def mock_task_dependent_on_previous_section_last_milestone_true; end
7874
-
7875
- sig { returns(T.untyped) }
7876
- def test_task_dependent_on_previous_section_last_milestone_true; end
7877
-
7878
- sig { void }
7879
- def mock_task_dependent_on_previous_section_last_milestone_false_no_previous_section; end
7880
-
7881
- sig { void }
7882
- def test_task_dependent_on_previous_section_last_milestone_false_no_previous_section; end
7883
-
7884
- sig { void }
7885
- def test_last_task_milestone_depends_on_this_task_no_memberships; end
7886
-
7887
- sig { params(task: T.untyped, dependents: T.untyped).returns(T.untyped) }
7888
- def expect_all_dependent_tasks_pulled(task, dependents); end
7889
-
7890
- sig { params(task: T.untyped, memberships: T.untyped).void }
7891
- def expect_memberships_pulled(task, memberships); end
7892
-
7893
- sig { params(tasks: T.untyped).void }
7894
- def expect_tasks_by_section_gid_pulled(tasks); end
7895
-
7896
- sig { void }
7897
- def expect_milestone_details_pulled; end
7898
-
7899
- sig { void }
7900
- def expect_task_gid_pulled; end
7901
-
7902
- sig { void }
7903
- def test_last_task_milestone_depends_on_this_task_false; end
7904
-
7905
- sig { void }
7906
- def test_last_task_milestone_depends_on_this_task_no_milestone; end
7907
-
7908
- sig { void }
7909
- def test_last_task_milestone_depends_on_this_task_is_last_milestone; end
7910
-
7911
- sig { params(projects: T.untyped).void }
7912
- def export_portfolio_projects_pulled(projects); end
7913
-
7914
- sig { void }
7915
- def test_last_task_milestone_depends_on_this_task_is_last_milestone_limited_to_portfolio_no_projects; end
7916
-
7917
- sig { void }
7918
- def mock_last_task_milestone_depends_on_this_task_is_last_milestone_limited_to_portfolio; end
7919
-
7920
- sig { void }
7921
- def test_last_task_milestone_depends_on_this_task_is_last_milestone_limited_to_portfolio; end
7922
-
7923
- sig { void }
7924
- def test_init; end
7925
-
7926
- sig { void }
7927
- def test_any_milestone_depends_on_this_task_false; end
7928
-
7929
- sig { void }
7930
- def test_any_milestone_depends_on_this_task_true; end
7931
-
7932
- sig { void }
7933
- def class_under_test; end
7934
-
7935
- sig { void }
7936
- def respond_like_instance_of; end
7937
-
7938
- sig { void }
7939
- def respond_like; end
7940
- end
7941
-
7942
- class TestPortfolios < ClassTest
7943
- extend Forwardable
7944
-
7945
- sig { void }
7946
- def test_portfolio_or_raise_raises; end
7947
-
7948
- sig { void }
7949
- def test_portfolio_or_raise; end
7950
-
7951
- sig { returns(T.untyped) }
7952
- def expect_workspace_pulled; end
7953
-
7954
- sig { void }
7955
- def allow_portfolios_named; end
7956
-
7957
- sig { void }
7958
- def expect_portfolios_api_pulled; end
7959
-
7960
- sig { void }
7961
- def expect_me_gid_pulled; end
7962
-
7963
- sig { params(portfolio_arr: T.untyped).returns(T.untyped) }
7964
- def expect_portfolios_pulled(portfolio_arr); end
7965
-
7966
- sig { void }
7967
- def test_portfolio; end
7968
-
7969
- sig { void }
7970
- def test_portfolio_by_gid; end
7971
-
7972
- sig { void }
7973
- def test_projects_in_portfolios; end
7974
-
7975
- sig { void }
7976
- def class_under_test; end
7977
-
7978
- sig { void }
7979
- def respond_like_instance_of; end
7980
-
7981
- sig { void }
7982
- def respond_like; end
7983
- end
7984
-
7985
- # Test the Checkoff::Workspaces class
7986
- class TestWorkspaces < BaseAsana
7987
- extend Forwardable
7988
- TIME_BY_PERIOD = T.let({
7989
- two_am: '02:00:20',
7990
- morning_during_breakfast: '07:30:20',
7991
- morning: '07:33:20',
7992
- eight_thirty_am: '8:30:00',
7993
- ten_am: '10:00:20',
7994
- mid_morning: '10:33:20',
7995
- eleven_thirty_am: '11:30:00',
7996
- afternoon: '14:33:20',
7997
- three_forty_five_pm: '15:45:20',
7998
- four_fifteen_pm: '16:15:20',
7999
- four_forty_five_pm: '16:45:20',
8000
- five_forty_five_pm: '17:45:20',
8001
- six_fifteen_pm: '18:15:00',
8002
- six_forty_five_pm: '18:45:00',
8003
- night: '19:00:20',
8004
- evening: '19:01:20',
8005
- late_evening: '21:33:20',
8006
- late_late_evening: '22:33:20',
8007
- }.freeze, T.untyped)
8008
-
8009
- sig { void }
8010
- def mock_workspace_or_raise_nil; end
8011
-
8012
- sig { void }
8013
- def test_workspace_or_raise_nil; end
8014
-
8015
- sig { void }
8016
- def mock_workspace_or_raise; end
8017
-
8018
- sig { void }
8019
- def test_workspace_or_raise; end
8020
-
8021
- sig { void }
8022
- def expect_default_workspace_gid_config_fetched; end
8023
-
8024
- sig { void }
8025
- def test_default_workspace_gid; end
8026
-
8027
- sig { void }
8028
- def test_default_workspace; end
8029
-
8030
- sig { void }
8031
- def class_under_test; end
8032
- end
8033
-
8034
- class TestAttachments < ClassTest
8035
- extend Forwardable
8036
-
8037
- sig { params(url: T.untyped).void }
8038
- def mock_create_attachment_from_url(url); end
8039
-
8040
- sig { void }
8041
- def test_create_attachment_from_url; end
8042
-
8043
- # _@param_ `gid`
8044
- #
8045
- # _@param_ `url`
8046
- sig { params(gid: String, url: String).returns(Mocha::Mock) }
8047
- def expect_run_on_attachment(gid, url); end
8048
-
8049
- sig { returns(String) }
8050
- def capture_attachments_run; end
8051
-
8052
- sig { void }
8053
- def test_run; end
8054
-
8055
- sig { void }
8056
- def class_under_test; end
8057
-
8058
- sig { void }
8059
- def respond_like_instance_of; end
8060
-
8061
- sig { void }
8062
- def respond_like; end
8063
- end
8064
-
8065
- # double to inject cache_method, pretending to be cache_method gem
8066
- class Class
8067
- sig { params(method_id: T.untyped, _ttl: T.untyped).void }
8068
- def cache_method(method_id, _ttl = nil); end
8069
- end
8070
-
8071
- # double to inject cache_method_clear, pretending to be cache_method gem
8072
- module Kernel
8073
- sig { params(_method_id: T.untyped).void }
8074
- def cache_method_clear(_method_id); end
8075
- end
8076
-
8077
- # Test the Checkoff::CLI class with quickadd subcommand
8078
- class TestCLIQuickadd < Minitest::Test
8079
- sig { void }
8080
- def workspace_name; end
8081
-
8082
- sig { void }
8083
- def expect_workspaces_created; end
8084
-
8085
- sig { void }
8086
- def expect_config_loaded; end
8087
-
8088
- sig { void }
8089
- def expect_sections_created; end
8090
-
8091
- sig { returns(T.untyped) }
8092
- def expect_tasks_created; end
8093
-
8094
- sig { returns(T.untyped) }
8095
- def set_mocks; end
8096
-
8097
- sig { params(_twiddle_mocks: T.untyped).void }
8098
- def get_test_object(&_twiddle_mocks); end
8099
-
8100
- sig { void }
8101
- def mock_quickadd; end
8102
-
8103
- sig { void }
8104
- def test_quickadd; end
8105
- end
8106
-
8107
- class TestCustomFields < ClassTest
8108
- extend Forwardable
8109
-
8110
- sig { void }
8111
- def test_custom_field_or_raise_raises; end
8112
-
8113
- sig { void }
8114
- def test_custom_field_or_raise; end
8115
-
8116
- sig { returns(T.untyped) }
8117
- def expect_workspace_pulled; end
8118
-
8119
- sig { void }
8120
- def allow_custom_fields_named; end
8121
-
8122
- sig { params(custom_field_arr: T.untyped).void }
8123
- def expect_custom_fields_pulled(custom_field_arr); end
8124
-
8125
- sig { void }
8126
- def test_custom_field; end
8127
-
8128
- sig { void }
8129
- def class_under_test; end
8130
- end
8131
-
8132
- # Test the Checkoff::MvSubcommand class used in CLI processing
8133
- class TestMvSubcommand < ClassTest
8134
- extend Forwardable
8135
-
8136
- sig { params(arg: T.untyped).void }
8137
- def argument_to_name(arg); end
8138
-
8139
- sig { params(workspace_name: T.untyped, project_name: T.untyped, project: T.untyped).void }
8140
- def expect_project_pulled(workspace_name, project_name, project); end
8141
-
8142
- sig do
8143
- params(
8144
- workspace_name: T.untyped,
8145
- project_name: T.untyped,
8146
- section_name: T.untyped,
8147
- section: T.untyped
8148
- ).void
8149
- end
8150
- def expect_section_pulled(workspace_name, project_name, section_name, section); end
8151
-
8152
- sig do
8153
- params(
8154
- workspace_name: T.untyped,
8155
- project_name: T.untyped,
8156
- section_name: T.untyped,
8157
- tasks: T.untyped
8158
- ).void
8159
- end
8160
- def expect_tasks_pulled(workspace_name, project_name, section_name, tasks); end
8161
-
8162
- sig { params(task: T.untyped, task_name: T.untyped).void }
8163
- def expect_task_named(task, task_name); end
8164
-
8165
- sig { params(section: T.untyped, section_name: T.untyped).void }
8166
- def expect_section_named(section, section_name); end
8167
-
8168
- sig { params(project: T.untyped, project_gid: T.untyped).void }
8169
- def expect_project_gid_pulled(project, project_gid); end
8170
-
8171
- sig { params(section: T.untyped, section_gid: T.untyped).void }
8172
- def expect_section_gid_pulled(section, section_gid); end
8173
-
8174
- sig { params(task: T.untyped, project_gid: T.untyped, section_gid: T.untyped).void }
8175
- def expect_task_added_to_project(task, project_gid, section_gid); end
8176
-
8177
- sig { void }
8178
- def allow_logger_used; end
8179
-
8180
- sig { void }
8181
- def set_initializer_arguments; end
8182
-
8183
- sig { params(from_workspace_arg: T.untyped, to_workspace_arg: T.untyped).void }
8184
- def determine_to_workspace_name(from_workspace_arg, to_workspace_arg); end
8185
-
8186
- sig { params(from_project_name: T.untyped, to_project_arg: T.untyped).void }
8187
- def determine_to_project_name(from_project_name, to_project_arg); end
8188
-
8189
- sig { params(from_section_name: T.untyped, to_section_arg: T.untyped).void }
8190
- def determine_to_section_name(from_section_name, to_section_arg); end
8191
-
8192
- sig { params(task: T.untyped, task_name: T.untyped).void }
8193
- def expect_task_added_to_section(task, task_name); end
8194
-
8195
- sig { void }
8196
- def set_names; end
8197
-
8198
- sig { void }
8199
- def expect_to_objects_pulled; end
8200
-
8201
- sig { void }
8202
- def expect_run; end
8203
-
8204
- sig { void }
8205
- def mock_run_to_different_workspace; end
8206
-
8207
- sig { void }
8208
- def test_run_to_different_workspace; end
8209
-
8210
- sig { void }
8211
- def mock_run_from_all_sections; end
8212
-
8213
- sig { void }
8214
- def test_run_from_all_sections; end
8215
-
8216
- sig { void }
8217
- def mock_run_from_regular_project; end
8218
-
8219
- sig { void }
8220
- def test_run_from_regular_project; end
8221
-
8222
- sig { void }
8223
- def mock_run_to_same_section_different_project; end
8224
-
8225
- sig { void }
8226
- def test_run_to_same_section_different_project; end
8227
-
8228
- sig { void }
8229
- def mock_run_with_explicit_to_project; end
8230
-
8231
- sig { void }
8232
- def test_run_with_explicit_to_project; end
8233
-
8234
- sig { void }
8235
- def mock_run_from_my_tasks; end
8236
-
8237
- sig { void }
8238
- def test_run_from_my_tasks; end
8239
-
8240
- sig { void }
8241
- def mock_init_default_workspace_not_implemented; end
8242
-
8243
- sig { void }
8244
- def test_init_default_workspace_not_implemented; end
8245
-
8246
- sig { void }
8247
- def test_init; end
8248
-
8249
- sig { void }
8250
- def class_under_test; end
8251
-
8252
- # Returns the value of attribute from_workspace_arg.
8253
- sig { returns(T.untyped) }
8254
- attr_reader :from_workspace_arg
8255
-
8256
- # Returns the value of attribute from_project_arg.
8257
- sig { returns(T.untyped) }
8258
- attr_reader :from_project_arg
8259
-
8260
- # Returns the value of attribute from_section_arg.
8261
- sig { returns(T.untyped) }
8262
- attr_reader :from_section_arg
8263
-
8264
- # Returns the value of attribute to_workspace_arg.
8265
- sig { returns(T.untyped) }
8266
- attr_reader :to_workspace_arg
8267
-
8268
- # Returns the value of attribute to_project_arg.
8269
- sig { returns(T.untyped) }
8270
- attr_reader :to_project_arg
8271
-
8272
- # Returns the value of attribute to_section_arg.
8273
- sig { returns(T.untyped) }
8274
- attr_reader :to_section_arg
8275
-
8276
- # Returns the value of attribute from_workspace_name.
8277
- sig { returns(T.untyped) }
8278
- attr_reader :from_workspace_name
8279
-
8280
- # Returns the value of attribute from_project_name.
8281
- sig { returns(T.untyped) }
8282
- attr_reader :from_project_name
8283
-
8284
- # Returns the value of attribute from_section_name.
8285
- sig { returns(T.untyped) }
8286
- attr_reader :from_section_name
8287
-
8288
- # Returns the value of attribute to_workspace_name.
8289
- sig { returns(T.untyped) }
8290
- attr_reader :to_workspace_name
8291
-
8292
- # Returns the value of attribute to_project_name.
8293
- sig { returns(T.untyped) }
8294
- attr_reader :to_project_name
8295
-
8296
- # Returns the value of attribute to_section_name.
8297
- sig { returns(T.untyped) }
8298
- attr_reader :to_section_name
8299
- end
8300
-
8301
- class TestTaskSearches < ClassTest
8302
- extend Forwardable
8303
-
8304
- sig { void }
8305
- def expect_workspace_pulled; end
8306
-
8307
- sig { void }
8308
- def expect_workspace_gid_pulled; end
8309
-
8310
- sig { void }
8311
- def expect_convert_params_called; end
8312
-
8313
- sig { void }
8314
- def default_fields; end
8315
-
8316
- sig { returns(T.untyped) }
8317
- def expect_client_get_called; end
8318
-
8319
- sig { void }
8320
- def expect_search_response_queried; end
8321
-
8322
- sig { params(response_array: T.untyped).returns(T.untyped) }
8323
- def expect_response_wrapped(response_array); end
8324
-
8325
- sig { void }
8326
- def expect_tasks_filtered; end
8327
-
8328
- sig { void }
8329
- def expect_task_selector_queried; end
8330
-
8331
- sig { void }
8332
- def mock_task_search; end
8333
-
8334
- sig { void }
8335
- def projects; end
8336
-
8337
- sig { void }
8338
- def test_task_search; end
8339
-
8340
- sig { void }
8341
- def mock_task_search_overloaded; end
8342
-
8343
- sig { void }
8344
- def test_as_cache_key; end
8345
-
8346
- sig { void }
8347
- def test_raw_task_search_without_selector; end
8348
-
8349
- # _@param_ `task_searches`
8350
- sig { params(task_searches: Checkoff::TaskSearches).returns(T::Array[T.untyped]) }
8351
- def mock_full_page_raw_task_search(task_searches); end
8352
-
8353
- sig { void }
8354
- def test_raw_task_search_paginates_when_full_page; end
8355
-
8356
- sig { void }
8357
- def class_under_test; end
8358
-
8359
- sig { void }
8360
- def respond_like_instance_of; end
8361
-
8362
- sig { void }
8363
- def respond_like; end
8364
- end
8365
-
8366
- # rubocop:disable Metrics/ClassLength
8367
- class TestTaskSelectors < ClassTest
8368
- extend Forwardable
8369
-
8370
- sig { returns(Checkoff::TaskSelectors) }
8371
- def get_test_object; end
8372
-
8373
- sig { returns(Mocha::Mock) }
8374
- def task; end
8375
-
8376
- sig { void }
8377
- def test_filter_via_custom_field_gid_values_gids_no_enum_value; end
8378
-
8379
- sig { void }
8380
- def test_filter_via_custom_field_gid_values_gids_no_enum_value_multi_enum; end
8381
-
8382
- sig { void }
8383
- def test_filter_via_custom_field_gid_values_gids_no_enum_value_new_type; end
8384
-
8385
- # not sure why this would be the case, so set an alarm so I can understand
8386
- sig { void }
8387
- def test_filter_via_custom_field_custom_field_not_enabled; end
8388
-
8389
- sig { void }
8390
- def test_filter_via_custom_field_none_matched; end
8391
-
8392
- sig { void }
8393
- def test_filter_via_custom_field_gid_values_gids_custom_field_not_provided; end
8394
-
8395
- sig { void }
8396
- def test_filter_via_custom_field_gid_values_gids; end
8397
-
8398
- sig { void }
8399
- def test_filter_via_invalid_syntax; end
8400
-
8401
- sig { void }
8402
- def test_filter_via_custom_field_value_nil_false_found; end
8403
-
8404
- sig { void }
8405
- def mock_filter_via_custom_field_gid_value_gid_nil; end
8406
-
8407
- sig { void }
8408
- def test_filter_via_custom_field_gid_value_gid_nil; end
8409
-
8410
- sig { void }
8411
- def test_filter_via_custom_field_value_custom_fields_not_provided; end
8412
-
8413
- sig { void }
8414
- def test_filter_via_custom_field_value_nil_none_found; end
8415
-
8416
- sig { void }
8417
- def test_filter_via_custom_field_value_gid_nil_none_found; end
8418
-
8419
- sig { void }
8420
- def test_filter_via_task_selector_tag; end
8421
-
8422
- sig { void }
8423
- def test_filter_via_task_selector_not; end
8424
-
8425
- sig { void }
8426
- def test_filter_via_task_selector_and; end
8427
-
8428
- sig { void }
8429
- def test_filter_via_task_selector_or; end
8430
-
8431
- sig { void }
8432
- def test_filter_via_task_selector_simple; end
8433
-
8434
- sig { void }
8435
- def test_filter_via_task_selector_ready; end
8436
-
8437
- sig { void }
8438
- def expect_now_jan_1_2019; end
8439
-
8440
- sig { void }
8441
- def expect_starts_jan_1_2019_midnight; end
8442
-
8443
- sig { void }
8444
- def expect_no_incomplete_dependencies; end
8445
-
8446
- sig { returns(T.untyped) }
8447
- def mock_filter_via_task_selector_ready_between_relative_starts_no; end
8448
-
8449
- sig { void }
8450
- def test_filter_via_task_selector_ready_between_relative_starts_now; end
8451
-
8452
- sig { void }
8453
- def mock_filter_via_task_selector_ready_between_relative_starts_today; end
8454
-
8455
- sig { void }
8456
- def test_filter_via_task_selector_ready_between_relative_starts_today; end
8457
-
8458
- sig { void }
8459
- def mock_filter_via_task_selector_ready_between_relative_due_now; end
8460
-
8461
- sig { void }
8462
- def test_filter_via_task_selector_ready_between_relative_due_now; end
8463
-
8464
- sig { returns(T.untyped) }
8465
- def mock_due_on_jan_1_2019; end
8466
-
8467
- sig { void }
8468
- def expect_no_start; end
8469
-
8470
- sig { returns(T.untyped) }
8471
- def mock_filter_via_task_selector_ready_between_relative_due_today; end
8472
-
8473
- sig { returns(T.untyped) }
8474
- def test_filter_via_task_selector_ready_between_relative_due_today; end
8475
-
8476
- sig { returns(T.untyped) }
8477
- def expect_no_due; end
8478
-
8479
- sig { returns(T.untyped) }
8480
- def mock_filter_via_task_selector_ready_between_relative_no_due; end
8481
-
8482
- sig { returns(T.untyped) }
8483
- def test_filter_via_task_selector_ready_between_relative_no_due; end
8484
-
8485
- sig { returns(T.untyped) }
8486
- def expect_due_jan_1_2099; end
8487
-
8488
- sig { returns(T.untyped) }
8489
- def mock_filter_via_task_selector_ready_between_relative_due_far_future; end
8490
-
8491
- sig { returns(T.untyped) }
8492
- def test_filter_via_task_selector_ready_between_relative_due_far_future; end
8493
-
8494
- sig { returns(T.untyped) }
8495
- def expect_incomplete_dependencies; end
8496
-
8497
- sig { returns(T.untyped) }
8498
- def expect_tasks_not_mocked; end
8499
-
8500
- sig { void }
8501
- def test_filter_via_task_selector_unassigned; end
8502
-
8503
- sig { void }
8504
- def test_filter_via_custom_field_gid_value_contains_all_gids; end
8505
-
8506
- sig { void }
8507
- def test_filter_via_task_selector_due_date_set; end
8508
-
8509
- sig { void }
8510
- def test_filter_via_task_selector_custom_field_less_than_n_days_from_now; end
8511
-
8512
- sig { returns(T.untyped) }
8513
- def test_filter_via_task_selector_custom_field_less_than_n_days_from_now_not_set; end
8514
-
8515
- sig { void }
8516
- def test_filter_via_task_selector_custom_field_less_than_n_days_from_now_custom_field_not_found; end
8517
-
8518
- sig { void }
8519
- def test_filter_via_task_selector_custom_field_greater_than_or_equal_to_n_days_from_now; end
8520
-
8521
- sig { void }
8522
- def test_filter_via_task_selector_custom_field_greater_than_or_equal_to_n_days_from_now_nil; end
8523
-
8524
- sig { void }
8525
- def test_filter_via_task_selector_custom_field_greater_than_or_equal_to_n_days_from_now_custom_field_not_found; end
8526
-
8527
- sig { returns(T.untyped) }
8528
- def mock_filter_via_task_selector_modified_less_than_n_days_ago; end
8529
-
8530
- sig { void }
8531
- def test_filter_via_task_selector_modified_less_than_n_days_ago; end
8532
-
8533
- sig { void }
8534
- def test_estimate_exceeds_duration_true; end
8535
-
8536
- sig { void }
8537
- def test_estimate_exceeds_duration_false_no_estimate_set; end
8538
-
8539
- sig { void }
8540
- def test_estimate_exceeds_duration_true_only_due_set; end
8541
-
8542
- sig { void }
8543
- def test_estimate_exceeds_duration_true_no_dates_set; end
8544
-
8545
- sig { void }
8546
- def test_estimate_exceeds_duration_no_estimate_field; end
8547
-
8548
- sig { void }
8549
- def test_filter_via_task_selector_modified_less_than_n_days_ago_nil; end
8550
-
8551
- sig { void }
8552
- def test_filter_via_task_selector_modified_less_than_n_days_ago_field_not_supported; end
8553
-
8554
- sig { void }
8555
- def test_filter_via_task_selector_modified_less_than_n_days_ago_compound_field_not_supported; end
8556
-
8557
- sig { void }
8558
- def mock_filter_via_task_selector_field_greater_than_or_equal_to_n_days_from_today_due_on; end
8559
-
8560
- sig { void }
8561
- def test_filter_via_task_selector_field_greater_than_or_equal_to_n_days_from_today_due_on; end
8562
-
8563
- sig { void }
8564
- def mock_filter_via_task_selector_field_greater_than_or_equal_to_n_days_from_today_due_at; end
8565
-
8566
- sig { void }
8567
- def test_filter_via_task_selector_field_greater_than_or_equal_to_n_days_from_today_due_at; end
8568
-
8569
- sig { void }
8570
- def mock_filter_via_task_selector_field_greater_than_or_equal_to_n_days_from_today_due_nil; end
8571
-
8572
- sig { void }
8573
- def test_filter_via_task_selector_field_greater_than_or_equal_to_n_days_from_today_due_nil; end
8574
-
8575
- sig { void }
8576
- def test_filter_via_task_selector_custom_field_equal_to_date; end
8577
-
8578
- sig { void }
8579
- def test_filter_via_task_selector_custom_field_not_equal_to_date; end
8580
-
8581
- sig { void }
8582
- def test_filter_via_task_selector_last_story_created_less_than_n_days_ago_no_stories; end
8583
-
8584
- sig { void }
8585
- def mock_filter_via_task_selector_last_story_created_less_than_n_days_ago_ancient; end
8586
-
8587
- sig { void }
8588
- def test_filter_via_task_selector_last_story_created_less_than_n_days_ago_ancient; end
8589
-
8590
- sig { void }
8591
- def mock_filter_via_task_selector_last_story_created_less_than_n_days_ago_recent; end
8592
-
8593
- sig { void }
8594
- def test_filter_via_task_selector_last_story_created_less_than_n_days_ago_recent; end
8595
-
8596
- sig { returns(T.untyped) }
8597
- def test_filter_via_task_selector_in_project_named_false; end
8598
-
8599
- sig { returns(T.untyped) }
8600
- def test_filter_via_task_selector_in_project_named_true; end
8601
-
8602
- sig { returns(T.untyped) }
8603
- def test_filter_via_task_selector_in_section_named_false; end
8604
-
8605
- sig { returns(T.untyped) }
8606
- def test_filter_via_task_selector_in_section_named_true; end
8607
-
8608
- sig { returns(T.untyped) }
8609
- def test_dependent_on_previous_section_last_milestone; end
8610
-
8611
- sig { returns(T.untyped) }
8612
- def test_in_portfolio_named_true; end
8613
-
8614
- sig { returns(T.untyped) }
8615
- def test_in_portfolio_named_false; end
8616
-
8617
- sig { void }
8618
- def test_custom_field_gid_value_contains_any_gid_false_multi_enum; end
8619
-
8620
- sig { void }
8621
- def test_last_task_milestone_does_not_depend_on_this_task; end
8622
-
8623
- sig { void }
8624
- def test_in_a_real_project_true; end
8625
-
8626
- sig { void }
8627
- def test_in_a_real_project_false_only_my_tasks; end
8628
-
8629
- sig { void }
8630
- def test_section_name_starts_with_true; end
8631
-
8632
- sig { void }
8633
- def test_section_name_starts_with_false; end
8634
-
8635
- sig { void }
8636
- def test_in_section_named_true; end
8637
-
8638
- sig { void }
8639
- def test_in_section_named_false; end
8640
-
8641
- sig { void }
8642
- def test_in_portfolio_more_than_once_true; end
8643
-
8644
- sig { void }
8645
- def test_no_milestone_depends_on_this_task_true; end
8646
-
8647
- sig { void }
8648
- def respond_like_instance_of; end
8649
-
8650
- sig { void }
8651
- def respond_like; end
8652
-
8653
- sig { returns(T.class_of(Checkoff::TaskSelectors)) }
8654
- def class_under_test; end
8655
- end
8656
-
8657
- # Test the Checkoff::ViewSubcommand class used in CLI processing
8658
- class TestViewSubcommand < ClassTest
8659
- extend Forwardable
8660
-
8661
- sig { returns(String) }
8662
- def task_name; end
8663
-
8664
- sig { returns(String) }
8665
- def due_at_value; end
8666
-
8667
- sig { void }
8668
- def expect_task_lookup; end
8669
-
8670
- sig { void }
8671
- def stub_task_due_fields; end
8672
-
8673
- sig { void }
8674
- def test_run_on_task; end
8675
-
8676
- sig { void }
8677
- def test_run_on_task_not_found; end
8678
-
8679
- sig { params(clazz: T.untyped).returns(Checkoff::ViewSubcommand) }
8680
- def create_object(clazz = class_under_test); end
8681
-
8682
- sig { returns(T.class_of(Checkoff::ViewSubcommand)) }
8683
- def class_under_test; end
8684
-
8685
- sig { void }
8686
- def respond_like_instance_of; end
8687
-
8688
- sig { void }
8689
- def respond_like; end
8690
- end
8691
-
8692
- class TestLogging < Minitest::Test
8693
- sig { void }
8694
- def test_logger_defaults_without_rails; end
8695
-
8696
- sig { void }
8697
- def test_logger_uses_rails_logger_when_available; end
8698
-
8699
- sig { void }
8700
- def test_logger_falls_back_when_rails_has_no_logger; end
8701
-
8702
- sig { void }
8703
- def build_logger_owner; end
8704
-
8705
- sig { void }
8706
- def with_removed_rails; end
8707
-
8708
- sig { params(rails_const: T.untyped).void }
8709
- def with_temporary_rails(rails_const); end
8710
- end
8711
-
8712
- class TestProjectSelectors < ClassTest
8713
- extend Forwardable
8714
-
8715
- sig { returns(Checkoff::ProjectSelectors) }
8716
- def get_test_object; end
8717
-
8718
- sig { void }
8719
- def test_filter_via_custom_field_value_contain_any_value_false; end
8720
-
8721
- sig { void }
8722
- def test_filter_via_custom_field_values_contain_any_value_true; end
8723
-
8724
- sig { void }
8725
- def test_filter_via_custom_field_values_contain_any_value_true_single_in_multi_enum; end
8726
-
8727
- sig { void }
8728
- def test_filter_via_custom_field_values_contain_any_value_true_multiple; end
8729
-
8730
- sig { void }
8731
- def test_filter_via_custom_field_values_contain_any_value_false_nothing_set; end
8732
-
8733
- sig { void }
8734
- def test_filter_via_custom_field_value_contains_any_value_no_custom_field_false; end
8735
-
8736
- sig { void }
8737
- def test_filter_via_due_date_false; end
8738
-
8739
- sig { void }
8740
- def test_filter_via_ready_false; end
8741
-
8742
- sig { void }
8743
- def test_bogus_raises; end
8744
-
8745
- sig { returns(T.class_of(Checkoff::ProjectSelectors)) }
8746
- def class_under_test; end
8747
-
8748
- sig { void }
8749
- def respond_like_instance_of; end
8750
-
8751
- sig { void }
8752
- def respond_like; end
8753
- end
8754
-
8755
- class TestSectionSelectors < ClassTest
8756
- extend Forwardable
8757
-
8758
- sig { returns(Checkoff::SectionSelectors) }
8759
- def get_test_object; end
8760
-
8761
- sig { void }
8762
- def test_filter_via_ends_with_milestone_empty; end
8763
-
8764
- sig { void }
8765
- def expect_client_tasks_pulled; end
8766
-
8767
- sig { void }
8768
- def expect_section_gid_pulled; end
8769
-
8770
- sig { void }
8771
- def mock_filter_via_ends_with_milestone_true; end
8772
-
8773
- sig { void }
8774
- def test_filter_via_ends_with_milestone_true; end
8775
-
8776
- sig { void }
8777
- def test_bogus_raises; end
8778
-
8779
- sig { void }
8780
- def test_filter_via_has_tasks_false; end
8781
-
8782
- sig { returns(T.class_of(Checkoff::SectionSelectors)) }
8783
- def class_under_test; end
8784
- end
8785
-
8786
- class TestTaskHashes < ClassTest
8787
- MEMBER_OF_SECTION_A_IN_PROJECT_1 = T.let({
8788
- 'section' => {
8789
- 'gid' => 'section_a_gid',
8790
- 'name' => 'section_a_name',
8791
- },
8792
- 'project' => {
8793
- 'gid' => 'project_1_gid',
8794
- 'name' => 'project_1_name',
8795
- },
8796
- }.freeze, T.untyped)
8797
- TASK_A_RAW_HASH = T.let({
8798
- 'name' => 'a',
8799
- 'custom_fields' => [
8800
- {
8801
- 'name' => 'custom_field_x',
8802
- 'display_value' => 'foo',
8803
- },
8804
- ],
8805
- 'memberships' => [
8806
- MEMBER_OF_SECTION_A_IN_PROJECT_1,
8807
- ],
8808
- }.freeze, T.untyped)
8809
- TASK_A_HASH = T.let({
8810
- 'name' => 'a',
8811
- 'task' => 'a',
8812
- 'custom_fields' => [
8813
- { 'name' => 'custom_field_x', 'display_value' => 'foo' },
8814
- ],
8815
- 'memberships' => [
8816
- MEMBER_OF_SECTION_A_IN_PROJECT_1,
8817
- ],
8818
- 'unwrapped' => {
8819
- 'custom_fields' => {
8820
- 'custom_field_x' => {
8821
- 'name' => 'custom_field_x',
8822
- 'display_value' => 'foo',
8823
- },
8824
- },
8825
- 'membership_by_section_gid' => {
8826
- 'section_a_gid' => MEMBER_OF_SECTION_A_IN_PROJECT_1,
8827
- },
8828
- 'membership_by_section_name' => {
8829
- 'section_a_name' => MEMBER_OF_SECTION_A_IN_PROJECT_1,
8830
- },
8831
- 'membership_by_project_gid' => {
8832
- 'project_1_gid' => MEMBER_OF_SECTION_A_IN_PROJECT_1,
8833
- },
8834
- 'membership_by_project_name' => {
8835
- 'project_1_name' => MEMBER_OF_SECTION_A_IN_PROJECT_1,
8836
- },
8837
- },
8838
- }.freeze, T.untyped)
8839
- TASK_B_RAW_HASH = T.let({
8840
- 'name' => 'b',
8841
- 'custom_fields' => [
8842
- {
8843
- 'name' => 'custom_field_x',
8844
- 'display_value' => 'bar',
8845
- },
8846
- ],
8847
- }.freeze, T.untyped)
8848
- TASK_B_HASH = T.let({
8849
- 'name' => 'b',
8850
- 'task' => 'b',
8851
- 'custom_fields' => [
8852
- { 'name' => 'custom_field_x', 'display_value' => 'bar' },
8853
- ],
8854
- 'unwrapped' => {
8855
- 'custom_fields' => {
8856
- 'custom_field_x' => { 'name' => 'custom_field_x', 'display_value' => 'bar' },
8857
- },
8858
- 'membership_by_section_gid' => {},
8859
- 'membership_by_section_name' => {},
8860
- 'membership_by_project_gid' => {},
8861
- 'membership_by_project_name' => {},
8862
- },
8863
- }.freeze, T.untyped)
8864
-
8865
- sig { void }
8866
- def test_task_a_to_h; end
8867
-
8868
- sig { void }
8869
- def test_task_b_to_h; end
8870
-
8871
- sig { void }
8872
- def class_under_test; end
8873
- end
8874
-
8875
- class TestTaskTiming < ClassTest
8876
- sig { void }
8877
- def test_date_or_time_field_by_name_raises_if_unknown_field; end
8878
-
8879
- sig { void }
8880
- def class_under_test; end
8881
-
8882
- sig { void }
8883
- def respond_like_instance_of; end
8884
-
8885
- sig { void }
8886
- def respond_like; end
8887
- end
8888
-
8889
- # Test the Checkoff::Internal::ConfigLoader class
8890
- class TestConfigLoader < Minitest::Test
8891
- sig { void }
8892
- def mock_yaml_loaded; end
8893
-
8894
- sig { void }
8895
- def test_requests_from_env_variable_neither_populated; end
8896
-
8897
- sig { void }
8898
- def test_requests_from_env_variable_if_yaml_not_populated; end
8899
-
8900
- sig { void }
8901
- def test_defers_to_yaml; end
8902
- end
8903
-
8904
- class TestProjectHashes < ClassTest
8905
- PROJECT_A_RAW_HASH = T.let({
8906
- 'name' => 'a',
8907
- 'custom_fields' => [
8908
- {
8909
- 'name' => 'custom_field_x',
8910
- 'display_value' => 'foo',
8911
- },
8912
- ],
8913
- }.freeze, T.untyped)
8914
- PROJECT_A_HASH = T.let({
8915
- 'name' => 'a',
8916
- 'project' => 'a',
8917
- 'custom_fields' => [
8918
- { 'name' => 'custom_field_x', 'display_value' => 'foo' },
8919
- ],
8920
- 'unwrapped' => {
8921
- 'custom_fields' => {
8922
- 'custom_field_x' => {
8923
- 'name' => 'custom_field_x',
8924
- 'display_value' => 'foo',
8925
- },
8926
- },
8927
- },
8928
- }.freeze, T.untyped)
8929
- PROJECT_B_RAW_HASH = T.let({
8930
- 'name' => 'b',
8931
- 'custom_fields' => [
8932
- {
8933
- 'name' => 'custom_field_x',
8934
- 'display_value' => 'bar',
8935
- },
8936
- ],
8937
- }.freeze, T.untyped)
8938
- PROJECT_B_HASH = T.let({
8939
- 'name' => 'b',
8940
- 'project' => 'b',
8941
- 'custom_fields' => [
8942
- { 'name' => 'custom_field_x', 'display_value' => 'bar' },
8943
- ],
8944
- 'unwrapped' => {
8945
- 'custom_fields' => {
8946
- 'custom_field_x' => { 'name' => 'custom_field_x', 'display_value' => 'bar' },
8947
- },
8948
- },
8949
- }.freeze, T.untyped)
8950
-
8951
- sig { void }
8952
- def test_project_a_to_h; end
8953
-
8954
- sig { void }
8955
- def test_project_b_to_h; end
8956
-
8957
- sig { void }
8958
- def test_project_b_to_h_named; end
8959
-
8960
- sig { void }
8961
- def class_under_test; end
8962
- end
8963
-
8964
- class TestProjectTiming < ClassTest
8965
- extend Forwardable
8966
-
8967
- sig { void }
8968
- def test_date_or_time_field_by_name_due; end
8969
-
8970
- sig { void }
8971
- def test_date_or_time_field_by_name_due_nil; end
8972
-
8973
- sig { returns(T.untyped) }
8974
- def test_date_or_time_field_by_name_start; end
8975
-
8976
- sig { void }
8977
- def test_date_or_time_field_by_name_start_nil; end
8978
-
8979
- sig { void }
8980
- def test_date_or_time_field_by_name_ready; end
8981
-
8982
- sig { void }
8983
- def test_date_or_time_field_by_name_custom_field; end
8984
-
8985
- sig { void }
8986
- def test_date_or_time_field_by_name_custom_field_nil; end
8987
-
8988
- sig { void }
8989
- def test_date_or_time_field_by_name_raises_if_unknown_field; end
8990
-
8991
- sig { void }
8992
- def test_date_or_time_field_by_name_raises_if_unknown_array_field; end
8993
-
8994
- sig { void }
8995
- def class_under_test; end
8996
-
8997
- sig { void }
8998
- def respond_like_instance_of; end
8999
-
9000
- sig { void }
9001
- def respond_like; end
9002
- end
9003
-
9004
- # rubocop:disable Metrics/ClassLength
9005
- class TestSearchUrlParser < ClassTest
9006
- sig { returns(Checkoff::Internal::SearchUrl::Parser) }
9007
- def get_test_object; end
9008
-
9009
- # Ruby 3.4+ Hash#inspect inserts spaces around =>; normalize for assertions.
9010
- #
9011
- # _@param_ `message`
9012
- sig { params(message: String).returns(String) }
9013
- def normalize_error_message(message); end
9014
-
9015
- sig { void }
9016
- def test_convert_params_1; end
9017
-
9018
- sig { void }
9019
- def test_convert_params_2; end
9020
-
9021
- sig { void }
9022
- def test_convert_params_3; end
9023
-
9024
- sig { void }
9025
- def test_convert_params_4; end
9026
-
9027
- sig { void }
9028
- def test_convert_params_5; end
9029
-
9030
- sig { void }
9031
- def test_convert_params_6; end
9032
-
9033
- sig { void }
9034
- def test_convert_params_7; end
9035
-
9036
- sig { void }
9037
- def test_convert_params_8; end
9038
-
9039
- sig { void }
9040
- def test_convert_params_9; end
9041
-
9042
- sig { void }
9043
- def test_convert_params_10; end
9044
-
9045
- sig { void }
9046
- def test_convert_params_11; end
9047
-
9048
- sig { void }
9049
- def test_convert_params_12; end
9050
-
9051
- sig { void }
9052
- def test_convert_params_13; end
9053
-
9054
- sig { void }
9055
- def test_convert_params_14; end
9056
-
9057
- sig { void }
9058
- def test_convert_params_15; end
9059
-
9060
- sig { void }
9061
- def test_convert_params_16; end
9062
-
9063
- sig { void }
9064
- def test_convert_params_17; end
9065
-
9066
- sig { void }
9067
- def test_convert_params_18; end
9068
-
9069
- sig { void }
9070
- def test_convert_params_19; end
9071
-
9072
- sig { void }
9073
- def test_convert_params_20; end
9074
-
9075
- sig { void }
9076
- def test_convert_params_21; end
9077
-
9078
- sig { void }
9079
- def test_convert_params_22; end
9080
-
9081
- sig { void }
9082
- def test_convert_params_23; end
9083
-
9084
- sig { void }
9085
- def test_convert_params_24; end
9086
-
9087
- sig { void }
9088
- def test_convert_params_25; end
9089
-
9090
- sig { void }
9091
- def test_convert_params_26; end
9092
-
9093
- sig { void }
9094
- def test_convert_params_27; end
9095
-
9096
- sig { void }
9097
- def test_convert_params_28; end
9098
-
9099
- sig { void }
9100
- def test_convert_params_29; end
9101
-
9102
- sig { void }
9103
- def test_convert_params_30; end
9104
-
9105
- sig { void }
9106
- def test_convert_params_31; end
9107
-
9108
- sig { void }
9109
- def test_convert_params_32; end
9110
-
9111
- sig { void }
9112
- def test_convert_params_33; end
9113
-
9114
- sig { void }
9115
- def test_convert_params_34; end
9116
-
9117
- sig { void }
9118
- def test_convert_params_35; end
9119
-
9120
- sig { void }
9121
- def test_convert_params_36; end
9122
-
9123
- sig { void }
9124
- def test_convert_params_37; end
9125
-
9126
- sig { void }
9127
- def test_convert_params_38; end
9128
-
9129
- sig { void }
9130
- def test_convert_params_39; end
9131
-
9132
- sig { void }
9133
- def test_convert_params_40; end
9134
-
9135
- sig { void }
9136
- def test_convert_params_41; end
9137
-
9138
- sig { void }
9139
- def test_convert_params_42; end
9140
-
9141
- sig { void }
9142
- def test_convert_params_43; end
9143
-
9144
- sig { void }
9145
- def test_convert_params_44; end
9146
-
9147
- sig { void }
9148
- def test_convert_params_45; end
9149
-
9150
- sig { void }
9151
- def test_convert_params_46; end
9152
-
9153
- sig { void }
9154
- def test_convert_params_47; end
9155
-
9156
- sig { void }
9157
- def test_convert_params_48; end
9158
-
9159
- sig { returns(T.class_of(Checkoff::Internal::SearchUrl::Parser)) }
9160
- def class_under_test; end
9161
- end
9162
-
9163
- class TestAsanaEventFilter < ClassTest
9164
- extend Forwardable
9165
- TASK_NAME_CHANGED_EVENT = T.let({
9166
- 'action' => 'changed',
9167
- 'created_at' => '2024-01-16T20:10:27.783Z',
9168
- 'change' => {
9169
- 'field' => 'name',
9170
- 'action' => 'changed',
9171
- },
9172
- 'resource' => {
9173
- 'gid' => '456',
9174
- 'resource_type' => 'task',
9175
- 'resource_subtype' => 'default_task',
9176
- },
9177
- 'user' => {
9178
- 'gid' => '123',
9179
- 'resource_type' => 'user',
9180
- },
9181
- }.freeze, T.untyped)
9182
- CUSTOM_FIELD_CHANGED_EVENT = T.let({
9183
- 'action' => 'changed',
9184
- 'created_at' => '2023-11-23T18:00:00.271Z',
9185
- 'change' => {
9186
- 'field' => 'custom_fields',
9187
- 'action' => 'changed',
9188
- 'new_value' => {
9189
- 'gid' => '12',
9190
- 'resource_type' => 'custom_field',
9191
- 'resource_subtype' => 'enum',
9192
- 'enum_value' => {
9193
- 'gid' => '34',
9194
- 'resource_type' => 'enum_option',
9195
- },
9196
- },
9197
- },
9198
- 'resource' => {
9199
- 'gid' => '56',
9200
- 'resource_type' => 'task',
9201
- 'resource_subtype' => 'default_task',
9202
- },
9203
- 'user' => {
9204
- 'gid' => '78',
9205
- 'resource_type' => 'user',
9206
- },
9207
- }.freeze, T.untyped)
9208
- TASK_REMOVED_FROM_SECTION_EVENT = T.let({
9209
- 'action' => 'removed',
9210
- 'created_at' => '2023-11-22T21:42:14.029Z',
9211
- 'parent' => {
9212
- 'gid' => '90',
9213
- 'resource_type' => 'section',
9214
- },
9215
- 'resource' => {
9216
- 'gid' => '1',
9217
- 'resource_type' => 'task',
9218
- 'resource_subtype' => 'default_task',
9219
- },
9220
- 'user' => {
9221
- 'gid' => '78',
9222
- 'resource_type' => 'user',
9223
- },
9224
- }.freeze, T.untyped)
9225
- TASK_COMPLETED_EVENT = T.let({
9226
- 'user' => {
9227
- 'gid' => '123',
9228
- 'resource_type' => 'user',
9229
- },
9230
- 'created_at' => '2024-01-13T20:51:41.806Z',
9231
- 'action' => 'changed',
9232
- 'resource' => {
9233
- 'gid' => '456',
9234
- 'resource_type' => 'task',
9235
- 'resource_subtype' => 'default_task',
9236
- },
9237
- 'parent' => nil,
9238
- 'change' => { 'field' => 'completed', 'action' => 'changed' },
9239
- }.freeze, T.untyped)
9240
- TASK_COMPLETED_EVENT_2 = T.let({
9241
- 'user' => {
9242
- 'gid' => '123',
9243
- 'resource_type' => 'user',
9244
- },
9245
- 'created_at' => '2024-01-15T12:34:45.332Z',
9246
- 'action' => 'changed',
9247
- 'resource' => {
9248
- 'gid' => '456',
9249
- 'resource_type' => 'task',
9250
- 'resource_subtype' => 'default_task',
9251
- },
9252
- 'change' => {
9253
- 'field' => 'completed',
9254
- 'action' => 'changed',
9255
- },
9256
- }.freeze, T.untyped)
9257
-
9258
- sig { void }
9259
- def test_matches_nil_filters_true; end
9260
-
9261
- sig { void }
9262
- def test_matches_zero_filters_false; end
9263
-
9264
- sig { void }
9265
- def test_matches_on_resource_type_true; end
9266
-
9267
- sig { void }
9268
- def test_matches_on_resource_subtype_true; end
9269
-
9270
- sig { void }
9271
- def test_matches_on_action_true; end
9272
-
9273
- sig { returns(T.untyped) }
9274
- def test_matches_on_action_false; end
9275
-
9276
- sig { void }
9277
- def test_fetched_section_gid; end
9278
-
9279
- sig { void }
9280
- def test_matches_on_fields_true; end
9281
-
9282
- sig { params(gid: T.untyped, fields: T.untyped, task_obj: T.untyped).void }
9283
- def expect_task_fetched(gid, fields, task_obj); end
9284
-
9285
- sig { void }
9286
- def test_task_completed_event_true; end
9287
-
9288
- sig { void }
9289
- def test_matches_on_parent_gid_true; end
9290
-
9291
- sig { void }
9292
- def test_matches_on_bad_key_raises; end
9293
-
9294
- sig { void }
9295
- def class_under_test; end
9296
-
9297
- sig { void }
9298
- def respond_like_instance_of; end
9299
-
9300
- sig { void }
9301
- def respond_like; end
9302
- end
9303
-
9304
- class TestPruneCheckoffRbiTestConstants < Minitest::Test
9305
- SAMPLE = T.let(<<~RBI, T.untyped)
9306
- module TestDate
9307
- TIME_BY_PERIOD = T.let({ a: '1' }.freeze, T.untyped)
9308
- end
9309
-
9310
- class TestTasks < BaseAsana
9311
- extend Forwardable
9312
- TIME_BY_PERIOD = T.let({
9313
- two_am: '02:00:20',
9314
- }.freeze, T.untyped)
9315
-
9316
- sig { void }
9317
- def foo; end
9318
- end
9319
- RBI
9320
-
9321
- sig { returns(T.untyped) }
9322
- def test_prunes_subclass_constant; end
9323
-
9324
- sig { returns(T.untyped) }
9325
- def test_noop_when_nothing_to_prune; end
9326
- end