|
57 | 57 | )
|
58 | 58 | end
|
59 | 59 | let(:requirements_fixture_name) { "version_specified.txt" }
|
60 |
| - let(:dependency) do |
| 60 | + let(:requirements_dependency) do |
61 | 61 | Dependabot::Dependency.new(
|
62 | 62 | name: dependency_name,
|
63 | 63 | version: dependency_version,
|
|
76 | 76 | }]
|
77 | 77 | end
|
78 | 78 |
|
| 79 | + let(:dependency) { requirements_dependency } |
| 80 | + |
79 | 81 | describe "#can_update?" do
|
80 | 82 | subject { checker.can_update?(requirements_to_unlock: :own) }
|
81 | 83 |
|
|
507 | 509 | let(:dependency_files) { [requirements_file, pyproject] }
|
508 | 510 | let(:pyproject_fixture_name) { "caret_version.toml" }
|
509 | 511 |
|
510 |
| - let(:dependency) do |
511 |
| - Dependabot::Dependency.new( |
512 |
| - name: "requests", |
513 |
| - version: "1.2.3", |
514 |
| - requirements: [{ |
515 |
| - file: "pyproject.toml", |
516 |
| - requirement: "^1.0.0", |
517 |
| - groups: [], |
518 |
| - source: nil |
519 |
| - }], |
520 |
| - package_manager: "pip" |
521 |
| - ) |
522 |
| - end |
| 512 | + context "and updating a dependency inside" do |
| 513 | + let(:dependency) do |
| 514 | + Dependabot::Dependency.new( |
| 515 | + name: "requests", |
| 516 | + version: "1.2.3", |
| 517 | + requirements: [{ |
| 518 | + file: "pyproject.toml", |
| 519 | + requirement: "^1.0.0", |
| 520 | + groups: [], |
| 521 | + source: nil |
| 522 | + }], |
| 523 | + package_manager: "pip" |
| 524 | + ) |
| 525 | + end |
523 | 526 |
|
524 |
| - let(:pypi_url) { "https://pypi.org/simple/requests/" } |
525 |
| - let(:pypi_response) do |
526 |
| - fixture("pypi", "pypi_simple_response_requests.html") |
527 |
| - end |
| 527 | + let(:pypi_url) { "https://pypi.org/simple/requests/" } |
| 528 | + let(:pypi_response) do |
| 529 | + fixture("pypi", "pypi_simple_response_requests.html") |
| 530 | + end |
528 | 531 |
|
529 |
| - context "for a library" do |
530 |
| - before do |
531 |
| - stub_request(:get, "https://pypi.org/pypi/pendulum/json/"). |
532 |
| - to_return( |
533 |
| - status: 200, |
534 |
| - body: fixture("pypi", "pypi_response_pendulum.json") |
535 |
| - ) |
| 532 | + context "for a library" do |
| 533 | + before do |
| 534 | + stub_request(:get, "https://pypi.org/pypi/pendulum/json/"). |
| 535 | + to_return( |
| 536 | + status: 200, |
| 537 | + body: fixture("pypi", "pypi_response_pendulum.json") |
| 538 | + ) |
| 539 | + end |
| 540 | + |
| 541 | + its([:requirement]) { is_expected.to eq(">=1,<3") } |
536 | 542 | end
|
537 | 543 |
|
538 |
| - its([:requirement]) { is_expected.to eq(">=1,<3") } |
539 |
| - end |
| 544 | + context "for a non-library" do |
| 545 | + before do |
| 546 | + stub_request(:get, "https://pypi.org/pypi/pendulum/json/"). |
| 547 | + to_return(status: 404) |
| 548 | + end |
540 | 549 |
|
541 |
| - context "for a non-library" do |
542 |
| - before do |
543 |
| - stub_request(:get, "https://pypi.org/pypi/pendulum/json/"). |
544 |
| - to_return(status: 404) |
| 550 | + its([:requirement]) { is_expected.to eq("^2.19.1") } |
545 | 551 | end
|
| 552 | + end |
| 553 | + |
| 554 | + context "and updating a dependency in an additional requirements file" do |
| 555 | + let(:dependency_files) { super().append(requirements_file) } |
546 | 556 |
|
547 |
| - its([:requirement]) { is_expected.to eq("^2.19.1") } |
| 557 | + let(:dependency) { requirements_dependency } |
| 558 | + |
| 559 | + it "does not get affected by whether it's a library or not and updates using the :increase strategy" do |
| 560 | + expect(subject[:requirement]).to eq("==2.6.0") |
| 561 | + end |
548 | 562 | end
|
549 | 563 | end
|
550 | 564 |
|
|
0 commit comments