Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 3 additions & 1 deletion .surface-breaking
Original file line number Diff line number Diff line change
@@ -1,7 +1,9 @@
ARG basecamp assign 00 <todo_id>
ARG basecamp assign 00 <id>
ARG basecamp unassign 00 <todo_id>
ARG basecamp unassign 00 <id>
ARG basecamp url 00 [parse]
ARG basecamp url 01 <url>
ARG basecamp unassign 00 <todo_id>
ARG basecamp upload archive 00 <id|url>
ARG basecamp upload doc create 00 <title>
ARG basecamp upload doc create 01 [content]
Expand Down
37 changes: 37 additions & 0 deletions e2e/smoke/smoke_assign.bats
Original file line number Diff line number Diff line change
Expand Up @@ -37,3 +37,40 @@ setup_file() {
assert_success
assert_json_value '.ok' 'true'
}

@test "assign handles multiple todos in one command" {
# Create two fresh todos
local todo1_out todo2_out
todo1_out=$(basecamp todo "Batch assign 1 $(date +%s)" --list "$QA_TODOLIST" -p "$QA_PROJECT" --json 2>/dev/null) || {
mark_unverifiable "Cannot create todo 1 for batch assign test"
return
}
todo2_out=$(basecamp todo "Batch assign 2 $(date +%s)" --list "$QA_TODOLIST" -p "$QA_PROJECT" --json 2>/dev/null) || {
mark_unverifiable "Cannot create todo 2 for batch assign test"
return
}
local id1 id2
id1=$(echo "$todo1_out" | jq -r '.data.id // empty')
id2=$(echo "$todo2_out" | jq -r '.data.id // empty')
[[ -n "$id1" && -n "$id2" ]] || mark_unverifiable "No todo IDs returned"

echo "$id1" > "$BATS_FILE_TMPDIR/batch_assign_id1"
echo "$id2" > "$BATS_FILE_TMPDIR/batch_assign_id2"

run_smoke basecamp assign "$id1" "$id2" --to me -p "$QA_PROJECT" --json
assert_success
assert_json_value '.ok' 'true'
}

@test "unassign handles multiple todos in one command" {
local id1_file="$BATS_FILE_TMPDIR/batch_assign_id1"
local id2_file="$BATS_FILE_TMPDIR/batch_assign_id2"
[[ -f "$id1_file" && -f "$id2_file" ]] || mark_unverifiable "No todos created in prior test"
local id1 id2
id1=$(<"$id1_file")
id2=$(<"$id2_file")

run_smoke basecamp unassign "$id1" "$id2" --from me -p "$QA_PROJECT" --json
assert_success
assert_json_value '.ok' 'true'
}
Loading
Loading