File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 1+ # frozen_string_literal: true
2+
3+ require 'rails_helper'
4+ require 'pundit/rspec'
5+
6+ RSpec . describe BackupPolicy do
7+ let ( :subject ) { described_class }
8+ let ( :john ) { Fabricate ( :user ) . account }
9+
10+ permissions :create? do
11+ context 'not user_signed_in?' do
12+ it 'denies' do
13+ expect ( subject ) . to_not permit ( nil , Backup )
14+ end
15+ end
16+
17+ context 'user_signed_in?' do
18+ context 'no backups' do
19+ it 'permits' do
20+ expect ( subject ) . to permit ( john , Backup )
21+ end
22+ end
23+
24+ context 'backups are too old' do
25+ it 'permits' do
26+ travel ( -8 . days ) do
27+ Fabricate ( :backup , user : john . user )
28+ end
29+
30+ expect ( subject ) . to permit ( john , Backup )
31+ end
32+ end
33+
34+ context 'backups are newer' do
35+ it 'denies' do
36+ travel ( -3 . days ) do
37+ Fabricate ( :backup , user : john . user )
38+ end
39+
40+ expect ( subject ) . to_not permit ( john , Backup )
41+ end
42+ end
43+ end
44+ end
45+ end
You can’t perform that action at this time.
0 commit comments