43 Commits

Author SHA1 Message Date
Tomas Hykel 948fa43321 chore: Remove feature flag for project-based work package identifiers 2026-05-25 17:45:06 +02:00
Kabiru Mwenja ed4d03d6c3 Cover displayId JSON contract in both modes
The CKEditor mention plugin reads `displayId` (camelCase, stringified)
off each entry to insert `#PROJ-7` or `#1234` into the editor source and
to build the mention's link URL. The contract must hold in both classic
and semantic mode so the frontend doesn't have to branch on identifier
shape, and the comment in the controller cites APIv3 parity as the reason
the value is forced to a String.

Render-views spec asserts the camelCase key, the stringified value, and
the mode-conditional shape (numeric id in classic, semantic identifier
in semantic).
2026-05-15 10:59:09 +03:00
Alexander Brandon Coles b8cb9b13e0 Fix Rubocop offenses in AutoCompletesController spec
Fixes duplicate `describe` blocks and other issues.
2025-02-12 06:36:50 -03:00
Alexander Brandon Coles 1d707895c6 Grammar fixes in code, docs: possessive its/it's
- **it's** is a contraction of _it is_ or _it has_. It requires an
apostrophe.
- **its** is the posssive form of _it_, denoting ownership. It should
not use an apostrophe.
2025-02-12 06:36:46 -03:00
Ivan Kuchin 4911b8a149 remove years from copyrights (except for COPYRIGHT file) 2024-07-31 15:02:49 +02:00
ulferts 3b2121f733 Revert "Merge remote-tracking branch 'origin/release/13.4' into dev"
This reverts commit 40b2bbeb09, reversing
changes made to b4c6cb17cc.
2024-03-21 11:31:17 +01:00
Ivan Kuchin 7787e457a3 Revert "Merge branch 'dev' into release/13.4"
This reverts commit a901541269, reversing
changes made to e573ca00b7.
2024-03-20 20:19:08 +01:00
Ivan Kuchin 9e4934cd0a change quotes using rubocop --only Style/StringLiterals,Style/QuotedSymbols -a 2024-03-20 18:05:22 +01:00
Christophe Bliard c795874f7f Update copyright year for 2024
command used: `rg -l 'Copyright \(C\) 2012-202\d the OpenProject' | xargs -n 100 sed -i -r 's/Copyright \(C\) 2012-202. the OpenProject/Copyright (C) 2012-2024 the OpenProject/'`
2024-01-02 16:23:54 +01:00
ulferts 2b2abf864a introduce ProjectRole model 2023-10-09 14:34:20 +02:00
Christophe Bliard 4c2a9d0aa8 Enable RSpec zero monkey patching mode
The plan for RSpec 4.0 is to disable monkey patching.

See https://github.com/rspec/rspec-core/blob/main/features/configuration/zero_monkey_patching_mode.feature for details.
2023-05-31 19:22:29 +02:00
Christophe Bliard 85b3258a29 Autocorrect with some rubocop cops
RSpec/Rails/InferredSpecType and Style/RedundantConstantBase

rubocop --autocorrect-all --only RSpec/Rails/InferredSpecType,Style/RedundantConstantBase spec modules/*/spec
2023-01-13 14:28:59 +01:00
Christophe Bliard 21a696ef9b Update copyright information for 2023 2022-12-30 15:51:26 +01:00
Christophe Bliard 48a4f1b6ad lint with rubocop --autocorrect (safe cops only) 2022-06-02 10:40:10 +02:00
Christophe Bliard bc8d423ec2 update copyright information for 2022 2022-03-01 17:05:59 +01:00
Christophe Bliard 47a297daae Fix argument alignment since f08bea3467 (#10129)
* Fix argument alignment since f08bea3467

The FactoryBot.* prefix has been removed in f08bea3467. Since then
rubocop complains about Layout/ArgumentAlignment. This commit fixes it.

* do not fix alignments for modules/*/spec yet

hoping to be under the limit of 65535 characters for reviewdog to report on rubocop errors
2022-02-02 21:48:06 +01:00
Oliver Günther f08bea3467 Remove FactoryBot.* prefix where applicable 2022-01-25 08:19:06 +01:00
Oliver Günther ccfa29c728 Move license and copyright docs to root, fix names and references 2021-09-02 21:50:46 +02:00
ulferts 6140f4c7e9 update copyright to 2021 (#8925)
Updates the copyright to 2021 for all files that have a copyright. Files in our source code without the copyright header still do not receive one automatically. Additionally, backlisted files are also excluded.

Previously the copyright of chiliproject which references redmine stated a copyright of redmine up to and including 2017 which is not true for the code we have in here. Because of that I changed that to 2013
2021-01-13 17:47:45 +01:00
Henriette Dinger bd7f4e4814 Update copyright notice 2020-01-15 11:31:26 +01:00
Oliver Günther 183ad1480e Replace deprecated controller success? with succesful? 2018-12-03 10:31:58 +01:00
Jens Ulferts e8976f6e2b remove code now unnecessary from autocompletes controller 2018-07-06 16:55:56 +02:00
Oliver Günther 059770f533 FactoryGirl => FactoryBot
Removes the deprecation
2018-05-07 22:38:20 +02:00
Oliver Günther 6ef4211e77 Bump copyright to 2018 (#6171)
[ci skip]
2018-02-12 08:51:12 +01:00
Oliver Günther 7cf11bb689 Update copyright notice 2017-01-10 15:11:43 +01:00
Oliver Günther 92aebdcec4 Fix params deprecation
Fixes in spec/controllers:

```
DEPRECATION WARNING: ActionController::TestCase HTTP request methods will accept only
keyword arguments in future Rails versions.
```
2016-10-17 11:56:44 +02:00
Alex Coles b2790b8db1 Migrate deprecated .update_all with conditions
Signed-off-by: Alex Coles <alex@alexbcoles.com>
2015-06-30 22:01:03 +02:00
Alex Coles ce93701029 Fix syntax (w/Rubocop) in specs
Signed-off-by: Alex Coles <alex@alexbcoles.com>
2015-06-30 12:08:28 +02:00
Jan Sandbrink d59b54a63c use more clear scopes for autocompletion
lets see if that really makes stuff more understandable...
I (personally) found the old definition of "all" to be too narrow.

Now there is:

scope == "all": I want to search over all WPs
scope == "relatable": I want to search over all WPs that are relatable to WPs in the given project (via project_id)
no scope: If I specified a project search over the WPs of that one, otherwise search everywhere (like "all")
2015-06-24 10:13:49 +02:00
Alex Coles 3785fdc9ed Use #describe, #context with String arg not symbol
The semantics of `describe` have changed in RSpec 3: passing a symbol
rather than a string will change the value of the described object.

See discussion here: https://github.com/rspec/rspec-core/issues/1114

Signed-off-by: Alex Coles <alex@alexbcoles.com>
2015-03-11 01:13:11 -03:00
Alex Coles e0191e759c Update year in copyright header to 2015
[ci skip]
2015-01-01 00:02:57 +00:00
Alex Coles 5afc11f19e Fix syntax (w/Rubocop) in specs
Signed-off-by: Alex Coles <alex@alexbcoles.com>
2014-11-04 00:50:36 +01:00
Jens Ulferts f173d55126 styling changes 2014-09-30 18:08:47 +02:00
Jens Ulferts cef30e0420 stabilizing specs by adding subjects explicitly
Otherwise it is possible for the subject to include a substring, that
matches the id of a work package and by that produces an accidental
match.
2014-09-30 18:05:58 +02:00
Alex Coles e137ed8135 Convert specs to RSpec 2.99.0 syntax with Transpec
This conversion is done by Transpec 2.3.1 with the following command:
    transpec

* 72 conversions
    from: describe 'some controller' { }
      to: describe 'some controller', :type => :controller { }

* 57 conversions
    from: describe 'some model' { }
      to: describe 'some model', :type => :model { }

* 49 conversions
    from: describe 'some view' { }
      to: describe 'some view', :type => :view { }

* 34 conversions
    from: obj.should
      to: expect(obj).to

* 27 conversions
    from: describe 'some routing' { }
      to: describe 'some routing', :type => :routing { }

* 8 conversions
    from: describe 'some feature' { }
      to: describe 'some feature', :type => :feature { }

* 7 conversions
    from: describe 'some helper' { }
      to: describe 'some helper', :type => :helper { }

* 5 conversions
    from: be_true
      to: be_truthy

* 5 conversions
    from: describe 'some request' { }
      to: describe 'some request', :type => :request { }

* 2 conversions
    from: obj.should_receive(:message)
      to: expect(obj).to receive(:message)

* 2 conversions
    from: obj.stub(:message)
      to: allow(obj).to receive(:message)

* 1 conversion
    from: before { example }
      to: before { |example| example }

* 1 conversion
    from: describe 'some mailer' { }
      to: describe 'some mailer', :type => :mailer { }

For more details: https://github.com/yujinakayama/transpec#supported-conversions
2014-06-26 15:04:58 +02:00
Alex Coles 5cdc438c52 Convert specs to RSpec 2.99.0.beta2 syntax with Transpec
This conversion is done by Transpec 1.10.4 with the following command:
    transpec

* 402 conversions
    from: it { should ... }
      to: it { is_expected.to ... }

* 67 conversions
    from: be_true
      to: be_truthy

* 55 conversions
    from: be_false
      to: be_falsey

* 35 conversions
    from: it { should_not ... }
      to: it { is_expected.not_to ... }

* 20 conversions
    from: == expected
      to: eq(expected)

* 5 conversions
    from: obj.stub(:message)
      to: allow(obj).to receive(:message)

* 4 conversions
    from: =~ /pattern/
      to: match(/pattern/)

* 1 conversion
    from: obj.should_receive(:message)
      to: expect(obj).to receive(:message)

* 1 conversion
    from: Klass.any_instance.stub(:message)
      to: allow_any_instance_of(Klass).to receive(:message)

* 1 conversion
    from: after { example }
      to: after { |example| example }

* 1 conversion
    from: pending
      to: skip
2014-04-17 23:35:32 +02:00
Jens Ulferts 91588523ce should fix tumbling spec by avoiding explicit id 2014-04-11 11:07:52 +02:00
Alex Coles 0bdbdcac35 Convert specs to RSpec 2.14.8 syntax with Transpec
This conversion is done by Transpec 1.10.4 with the following command:
    transpec

* 1414 conversions
    from: obj.should
      to: expect(obj).to

* 646 conversions
    from: == expected
      to: eq(expected)

* 376 conversions
    from: obj.stub(:message)
      to: allow(obj).to receive(:message)

* 107 conversions
    from: obj.should_not
      to: expect(obj).not_to

* 70 conversions
    from: obj.should_receive(:message)
      to: expect(obj).to receive(:message)

* 45 conversions
    from: =~ [1, 2]
      to: match_array([1, 2])

* 27 conversions
    from: lambda { }.should
      to: expect { }.to

* 13 conversions
    from: Klass.any_instance.stub(:message)
      to: allow_any_instance_of(Klass).to receive(:message)

* 8 conversions
    from: === expected
      to: be === expected

* 7 conversions
    from: expect { }.not_to raise_error(SpecificErrorClass)
      to: expect { }.not_to raise_error

* 6 conversions
    from: =~ /pattern/
      to: match(/pattern/)

* 2 conversions
    from: obj.should_not_receive(:message)
      to: expect(obj).not_to receive(:message)

* 1 conversion
    from: < expected
      to: be < expected

* 1 conversion
    from: obj.stub!(:message)
      to: allow(obj).to receive(:message)

* 1 conversion
    from: stub('something')
      to: double('something')
2014-03-31 10:50:22 +02:00
Johannes Wollert 8b096975fe updates copyright headers
updates more copyright

more copyright headers
2014-02-27 16:39:51 +01:00
Philipp Tessenow 8fe318f546 add specs for escaping auto_completion 2014-02-24 18:23:33 +01:00
Hagen Schink 6537d8aaaa Renames settings 2013-09-20 14:27:06 +02:00
Philipp Tessenow a1e67dd460 new copyright header #1903 2013-09-16 17:59:31 +02:00
Hagen Schink fe27cce2e0 Adds work package auto completes controller 2013-09-13 14:22:09 +02:00