require_relative '../../../plugin_helper' describe CustomWizard::AdminSubmissionsController do fab!(:admin_user) { Fabricate(:user, admin: true) } fab!(:user1) { Fabricate(:user) } fab!(:user2) { Fabricate(:user) } let(:template) { JSON.parse(File.open( "#{Rails.root}/plugins/discourse-custom-wizard/spec/fixtures/wizard.json" ).read) } before do CustomWizard::Template.save(template, skip_jobs: true) CustomWizard::Wizard.set_submissions(template['id'], user1, step_1_field_1: "I am a user1's submission" ) CustomWizard::Wizard.set_submissions(template['id'], user2, step_1_field_1: "I am a user2's submission" ) sign_in(admin_user) end it "returns a basic list of wizards" do get "/admin/wizards/submissions.json" expect(response.parsed_body.length).to eq(1) expect(response.parsed_body.first['id']).to eq(template['id']) end it "returns the all user's submissions for a wizard" do get "/admin/wizards/submissions/#{template['id']}.json" expect(response.parsed_body['submissions'].length).to eq(2) end it "returns the all user's submissions for a wizard" do get "/admin/wizards/submissions/#{template['id']}.json" expect(response.parsed_body['submissions'].length).to eq(2) end it "downloads all user submissions" do get "/admin/wizards/submissions/#{template['id']}/download" expect(response.parsed_body.length).to eq(2) end end