Change `set_enforcement_limit` to work with `build` groups
What does this MR do and why?
This is a follow up from !121920 (comment 1448001904)
We have a helper method that makes the code slightly DRYer on setting namespace enforcement limits.
However, the way it was implemented didn't work well with tests using build to create namespaces.
This is related to build mocks not having gitlab_subscription relation:
1) Namespace#actual_size_limit when in namespace enforcement returns the plan limit
Failure/Error: set_enforcement_limit(namespace, megabytes: enforceable_storage_limit)
NoMethodError:
undefined method `hosted_plan' for nil:NilClass
namespace.gitlab_subscription.hosted_plan.actual_limits.update!(enforcement_limit: megabytes)
Using actual_plan returns the same thing as gitlab_subscription.hosted_plan, and it works fine with build, so this MR is replacing it in the set_enforcement_limit method
Screenshots or screen recordings
N/A
How to set up and validate locally
The pipeline passing should be enough validation, since it's a spec helper method
MR acceptance checklist
This checklist encourages us to confirm any changes have been analyzed to reduce risks in quality, performance, reliability, security, and maintainability.
-
I have evaluated the MR acceptance checklist for this MR.
Edited by Sheldon Led