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