53 Commits

Author SHA1 Message Date
Jan Sandbrink 0b87e7543f Freeze string literals in specs
Rolling out frozen string literals further by freezing all
string literals in core specs.
2025-05-05 09:29:55 +02:00
Pavel Balashou e7a482de17 [#57664] Fix error when viewing inactive user activity.
`#determine_author` can raise `ActiveRecord::RecordNotFound` if user does not
exist or is inactive. Use `rescue_from` to catch it and send appropriate
response.

Fixes https://community.openproject.org/wp/57664
Fixes https://appsignal.com/openproject-gmbh/sites/66b224a4d30d867bed8a1772/exceptions/incidents/461

Co-authored-by: Christophe Bliard <176055+cbliard@users.noreply.github.com>
2024-09-10 14:14:18 +02:00
Oliver Günther e523f7abba Provide better error when no projects are visible 2024-09-02 17:17:58 +02:00
Ivan Kuchin 4911b8a149 remove years from copyrights (except for COPYRIGHT file) 2024-07-31 15:02:49 +02:00
ulferts 3660031344 adapt spec setup 2024-06-21 13:34:02 +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 7c8432c9e6 add validity_period to journal 2023-07-14 12:07:16 +02:00
ulferts 7341b98b48 move the activity sidebar into the menu 2023-07-03 16:22:34 +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 09c76f987c refactor: Reduce code duplication
`Activities::DaysComponent` factorizes the code to generate the HTML for
the activities per days.

By moving `journal` into `Activities::Event`, `journals_by_id` does not
need to be passed around anymore. Eager loading of journals is moved to
`Activities::Fetcher` instead of being handled by the controller. It
also means that the atom feed will be slower as it does not need the
journals information.
2023-02-16 16:34:07 +01: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 4c44c91ada Fix tests about project activity being present now 2022-12-12 14:48:44 +01:00
Christophe Bliard 48a4f1b6ad lint with rubocop --autocorrect (safe cops only) 2022-06-02 10:40:10 +02:00
Markus Kahl d5f00b5700 error reply for failed incoming email (#10726)
* error reply for failed incoming email

* deprecated date.to_s(:db) replaced with to_fs(:db)

* rubocop concessions

* nest away

* do not report errors to unknown users by default

* use verifying double
2022-06-01 15:48:26 +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 1bdd2ab9ae safe automatic fixes by rubocop (#8994) 2021-02-11 16:02:18 +01: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
ulferts 64d0f57d85 Feature/aggregated activities (#8221)
* use cte for aggregated journal

* Revert "use cte for aggregated journal"

This reverts commit 5fedefefdd.

* add another subselect that could later on be provided from the outside

* allow passing a nukleous sql to aggregated journals

* wip - using aggregated journal for activity

* new sql for aggregated journals

* start implementing new aggregated query

* additional documentation

* consolidate activity functionality

* simplify by turing into instance methods

* move activity fetcher out of redmine

* remove verb verification made obsolete

Without catchall routes, the dispatching handles it

* remove duplicate authorize check

* refactor activities controller

* refactory activity fetcher

* cache avatar file

* sort choosable events

* remove legacy spec covered by contemporary

* speed up aggregated journals via CTE

* instance var might never have been set

* ensure the event_types are always transmitted

* correctly reset the avatar cache

* fix avatar fetcher expectation regarding wiki pages

* adapt spec

[ci skip]
2020-04-27 08:04:28 +02:00
Henriette Dinger bd7f4e4814 Update copyright notice 2020-01-15 11:31:26 +01:00
Oliver Günther c5994d3b9b Rename Boards to Forums 2019-03-13 16:24:15 +01:00
Oliver Günther 183ad1480e Replace deprecated controller success? with succesful? 2018-12-03 10:31:58 +01: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
Mohamed Wael Khobalatte 626779d92d Use assert_select instead of deprecated assert_tag 2015-10-04 20:37:54 +01: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
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
Alex Coles 03978767be Use 1.9+ Hash syntax in specs
Signed-off-by: Alex Coles <alex@alexbcoles.com>
2014-11-03 23:49:02 +01: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 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
Hagen Schink a5c1ff2aa5 Merge pull request #979 from opf/fix/url_helpers_outside_request_context 2014-03-03 16:14:29 +01:00
Hagen Schink 5f63b1e9b4 Removes host name dependency 2014-02-28 18:24:23 +00:00
Johannes Wollert 8b096975fe updates copyright headers
updates more copyright

more copyright headers
2014-02-27 16:39:51 +01:00
Hagen Schink 94f4428869 Adds additional specs 2014-01-30 09:05:55 +01:00
Hagen Schink 6a6134c113 Adds specs 2014-01-23 16:19:36 +01:00
Hagen Schink 3720b73102 Fixes spec 2014-01-23 16:16:56 +01:00
Hagen Schink 4346305d1a Moves tests to specs 2013-12-02 18:34:24 +01:00
Hagen Schink 75bccbc114 Cleans up spec 2013-12-02 18:34:24 +01:00
Hagen Schink 8b3943e8c4 Adds spec 2013-10-31 13:52:43 +01:00
Hagen Schink 00f8127ef9 Adds spec 2013-10-31 13:50:53 +01:00