Skip to content

Commit

Permalink
feat: Remove interactives with hidden question numbers from reports [P…
Browse files Browse the repository at this point in the history
  • Loading branch information
dougmartin committed Oct 15, 2024
1 parent 9f2936e commit ad75654
Show file tree
Hide file tree
Showing 4 changed files with 89 additions and 3 deletions.
2 changes: 1 addition & 1 deletion app/models/managed_interactive.rb
Original file line number Diff line number Diff line change
Expand Up @@ -266,7 +266,7 @@ def self.import(import_hash)
# this can't be moved into BaseInteractive as enable_learner_state is defined as a method in
# this class and that causes reportable? not to be defined correctly for outside callers
def reportable?
enable_learner_state
enable_learner_state && !hide_question_number
end

def reportable_in_iframe?
Expand Down
2 changes: 1 addition & 1 deletion app/models/mw_interactive.rb
Original file line number Diff line number Diff line change
Expand Up @@ -118,7 +118,7 @@ def self.import(import_hash)
end

def reportable?
enable_learner_state
enable_learner_state && !hide_question_number
end

def reportable_in_iframe?
Expand Down
43 changes: 42 additions & 1 deletion spec/models/managed_interactive_spec.rb
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,9 @@
describe ManagedInteractive do
it_behaves_like "a base interactive", :managed_interactive

let(:enable_learner_state) { true }
let(:hide_question_number) { false }

let(:library_interactive) { FactoryGirl.create(:library_interactive,
:name => 'Test Library managed_Interactive',
:base_url => 'http://concord.org/',
Expand All @@ -13,7 +16,8 @@
:full_window => true,
:click_to_play_prompt => "base click_to_play_prompt",
:image_url => "http://base.url/image",
:enable_learner_state => true,
:enable_learner_state => enable_learner_state,
:hide_question_number => hide_question_number,
:show_delete_data_button => false,
:has_report_url => true,
:no_snapshots => true,
Expand Down Expand Up @@ -410,4 +414,41 @@
expect(managed_interactive.linked_interactive).to eq mw_interactive2
end
end

describe "reportable?" do
describe "when enable_learner_state=false and hide_question_number=false" do
let(:enable_learner_state) { false }
let(:hide_question_number) { false }

it "returns false" do
expect(managed_interactive.reportable?).to eq false
end
end

describe "when enable_learner_state=false and hide_question_number=true" do
let(:enable_learner_state) { false }
let(:hide_question_number) { true }

it "returns false" do
expect(managed_interactive.reportable?).to eq false
end
end

describe "when enable_learner_state=true and hide_question_number=false" do
let(:enable_learner_state) { true }
let(:hide_question_number) { false }

it "returns true" do
expect(managed_interactive.reportable?).to eq true
end
end

describe "when enable_learner_state=true and hide_question_number=true" do
let(:enable_learner_state) { true }
let(:hide_question_number) { true }
it "returns false" do
expect(managed_interactive.reportable?).to eq false
end
end
end
end
45 changes: 45 additions & 0 deletions spec/models/mw_interactive_spec.rb
Original file line number Diff line number Diff line change
Expand Up @@ -221,4 +221,49 @@
end

end


describe "reportable?" do
let(:enable_learner_state) { false }
let(:hide_question_number) { false }
let(:mw_interactive) { FactoryGirl.create(:mw_interactive,
:enable_learner_state => enable_learner_state,
:hide_question_number => hide_question_number
)}

describe "when enable_learner_state=false and hide_question_number=false" do
let(:enable_learner_state) { false }
let(:hide_question_number) { false }

it "returns false" do
expect(mw_interactive.reportable?).to eq false
end
end

describe "when enable_learner_state=false and hide_question_number=true" do
let(:enable_learner_state) { false }
let(:hide_question_number) { true }

it "returns false" do
expect(mw_interactive.reportable?).to eq false
end
end

describe "when enable_learner_state=true and hide_question_number=false" do
let(:enable_learner_state) { true }
let(:hide_question_number) { false }

it "returns true" do
expect(mw_interactive.reportable?).to eq true
end
end

describe "when enable_learner_state=true and hide_question_number=true" do
let(:enable_learner_state) { true }
let(:hide_question_number) { true }
it "returns false" do
expect(mw_interactive.reportable?).to eq false
end
end
end
end

0 comments on commit ad75654

Please sign in to comment.