@@ -17,24 +17,40 @@ def asana_task_url(task_id)
1717 end
1818
1919 describe "#extract_asana_task_id" do
20- it "extracts task ID" do
21- expect ( extract_asana_task_id ( "https://app.asana.com/0/0/0" ) ) . to eq ( "0" )
22- end
20+ context "v0 task URL" do
21+ it "extracts task ID" do
22+ expect ( extract_asana_task_id ( "https://app.asana.com/0/0/0" ) ) . to eq ( "0" )
23+ end
2324
24- it "extracts task ID when project ID is non-zero" do
25- expect ( extract_asana_task_id ( "https://app.asana.com/0/753241/9999" ) ) . to eq ( "9999" )
26- end
25+ it "extracts task ID when project ID is non-zero" do
26+ expect ( extract_asana_task_id ( "https://app.asana.com/0/753241/9999" ) ) . to eq ( "9999" )
27+ end
2728
28- it "extracts task ID when first digit is non-zero " do
29- expect ( extract_asana_task_id ( "https://app.asana.com/4/753241/9999 " ) ) . to eq ( "9999 " )
30- end
29+ it "extracts long task ID" do
30+ expect ( extract_asana_task_id ( "https://app.asana.com/0/0/12837864576817392 " ) ) . to eq ( "12837864576817392 " )
31+ end
3132
32- it "extracts long task ID" do
33- expect ( extract_asana_task_id ( "https://app.asana.com/0/0/12837864576817392" ) ) . to eq ( "12837864576817392" )
33+ it "extracts task ID from a URL in focused mode" do
34+ expect ( extract_asana_task_id ( "https://app.asana.com/0/0/1234/f" ) ) . to eq ( "1234" )
35+ end
3436 end
3537
36- it "extracts task ID from a URL with a trailing /f" do
37- expect ( extract_asana_task_id ( "https://app.asana.com/0/0/1234/f" ) ) . to eq ( "1234" )
38+ context "v1 task URL" do
39+ it "extracts task ID" do
40+ expect ( extract_asana_task_id ( "https://app.asana.com/1/1234/project/5678/task/9999" ) ) . to eq ( "9999" )
41+ end
42+
43+ it "extracts task ID when project is missing in the URL" do
44+ expect ( extract_asana_task_id ( "https://app.asana.com/1/1234/task/9999" ) ) . to eq ( "9999" )
45+ end
46+
47+ it "extracts long task ID" do
48+ expect ( extract_asana_task_id ( "https://app.asana.com/1/1234/task/12837864576817392" ) ) . to eq ( "12837864576817392" )
49+ end
50+
51+ it "extracts task ID from a URL in focused mode" do
52+ expect ( extract_asana_task_id ( "https://app.asana.com/1/1234/project/5678/task/9999?focused=true" ) ) . to eq ( "9999" )
53+ end
3854 end
3955
4056 it "sets GHA output" do
@@ -46,7 +62,7 @@ def asana_task_url(task_id)
4662
4763 it "fails when garbage is passed" do
4864 expect ( Fastlane ::UI ) . to receive ( :user_error! )
49- . with ( "URL has incorrect format (attempted to match #{ Fastlane ::Helper ::AsanaHelper ::ASANA_TASK_URL_REGEX } )" )
65+ . with ( "URL has incorrect format (attempted to match #{ Fastlane ::Helper ::AsanaHelper ::ASANA_V0_TASK_URL_REGEX } or #{ Fastlane :: Helper :: AsanaHelper :: ASANA_V1_TASK_URL_REGEX } )" )
5066
5167 extract_asana_task_id ( "not a URL" )
5268 end
0 commit comments