From 022a2e005f4a734dd4481d1589830520d192decb Mon Sep 17 00:00:00 2001 From: Yan Date: Fri, 2 Jun 2017 16:22:15 +0630 Subject: [PATCH] initial print setup --- app/assets/javascripts/print_settings.coffee | 3 + app/assets/stylesheets/print_settings.scss | 3 + app/controllers/print_settings_controller.rb | 74 +++++++++ app/helpers/print_settings_helper.rb | 2 + app/models/print_setting.rb | 2 + app/views/print_settings/_form.html.erb | 22 +++ .../_print_setting.json.jbuilder | 2 + app/views/print_settings/edit.html.erb | 6 + app/views/print_settings/index.html.erb | 49 ++++++ app/views/print_settings/index.json.jbuilder | 1 + app/views/print_settings/new.html.erb | 5 + app/views/print_settings/show.html.erb | 64 ++++++++ app/views/print_settings/show.json.jbuilder | 1 + .../20170602093159_create_print_settings.rb | 20 +++ .../print_settings_controller_spec.rb | 141 ++++++++++++++++++ spec/helpers/print_settings_helper_spec.rb | 15 ++ spec/models/print_setting_spec.rb | 5 + spec/requests/print_settings_spec.rb | 10 ++ spec/routing/print_settings_routing_spec.rb | 39 +++++ .../print_settings/edit.html.erb_spec.rb | 51 +++++++ .../print_settings/index.html.erb_spec.rb | 52 +++++++ .../views/print_settings/new.html.erb_spec.rb | 51 +++++++ .../print_settings/show.html.erb_spec.rb | 36 +++++ test/system/print_settings_test.rb | 9 ++ 24 files changed, 663 insertions(+) create mode 100644 app/assets/javascripts/print_settings.coffee create mode 100644 app/assets/stylesheets/print_settings.scss create mode 100644 app/controllers/print_settings_controller.rb create mode 100644 app/helpers/print_settings_helper.rb create mode 100644 app/models/print_setting.rb create mode 100644 app/views/print_settings/_form.html.erb create mode 100644 app/views/print_settings/_print_setting.json.jbuilder create mode 100644 app/views/print_settings/edit.html.erb create mode 100644 app/views/print_settings/index.html.erb create mode 100644 app/views/print_settings/index.json.jbuilder create mode 100644 app/views/print_settings/new.html.erb create mode 100644 app/views/print_settings/show.html.erb create mode 100644 app/views/print_settings/show.json.jbuilder create mode 100644 db/migrate/20170602093159_create_print_settings.rb create mode 100644 spec/controllers/print_settings_controller_spec.rb create mode 100644 spec/helpers/print_settings_helper_spec.rb create mode 100644 spec/models/print_setting_spec.rb create mode 100644 spec/requests/print_settings_spec.rb create mode 100644 spec/routing/print_settings_routing_spec.rb create mode 100644 spec/views/print_settings/edit.html.erb_spec.rb create mode 100644 spec/views/print_settings/index.html.erb_spec.rb create mode 100644 spec/views/print_settings/new.html.erb_spec.rb create mode 100644 spec/views/print_settings/show.html.erb_spec.rb create mode 100644 test/system/print_settings_test.rb diff --git a/app/assets/javascripts/print_settings.coffee b/app/assets/javascripts/print_settings.coffee new file mode 100644 index 00000000..24f83d18 --- /dev/null +++ b/app/assets/javascripts/print_settings.coffee @@ -0,0 +1,3 @@ +# Place all the behaviors and hooks related to the matching controller here. +# All this logic will automatically be available in application.js. +# You can use CoffeeScript in this file: http://coffeescript.org/ diff --git a/app/assets/stylesheets/print_settings.scss b/app/assets/stylesheets/print_settings.scss new file mode 100644 index 00000000..7dd1ef04 --- /dev/null +++ b/app/assets/stylesheets/print_settings.scss @@ -0,0 +1,3 @@ +// Place all the styles related to the print_settings controller here. +// They will automatically be included in application.css. +// You can use Sass (SCSS) here: http://sass-lang.com/ diff --git a/app/controllers/print_settings_controller.rb b/app/controllers/print_settings_controller.rb new file mode 100644 index 00000000..fa5af7e8 --- /dev/null +++ b/app/controllers/print_settings_controller.rb @@ -0,0 +1,74 @@ +class PrintSettingsController < ApplicationController + before_action :set_print_setting, only: [:show, :edit, :update, :destroy] + + # GET /print_settings + # GET /print_settings.json + def index + @print_settings = PrintSetting.all + end + + # GET /print_settings/1 + # GET /print_settings/1.json + def show + end + + # GET /print_settings/new + def new + @print_setting = PrintSetting.new + end + + # GET /print_settings/1/edit + def edit + end + + # POST /print_settings + # POST /print_settings.json + def create + @print_setting = PrintSetting.new(print_setting_params) + + respond_to do |format| + if @print_setting.save + format.html { redirect_to @print_setting, notice: 'Print setting was successfully created.' } + format.json { render :show, status: :created, location: @print_setting } + else + format.html { render :new } + format.json { render json: @print_setting.errors, status: :unprocessable_entity } + end + end + end + + # PATCH/PUT /print_settings/1 + # PATCH/PUT /print_settings/1.json + def update + respond_to do |format| + if @print_setting.update(print_setting_params) + format.html { redirect_to @print_setting, notice: 'Print setting was successfully updated.' } + format.json { render :show, status: :ok, location: @print_setting } + else + format.html { render :edit } + format.json { render json: @print_setting.errors, status: :unprocessable_entity } + end + end + end + + # DELETE /print_settings/1 + # DELETE /print_settings/1.json + def destroy + @print_setting.destroy + respond_to do |format| + format.html { redirect_to print_settings_url, notice: 'Print setting was successfully destroyed.' } + format.json { head :no_content } + end + end + + private + # Use callbacks to share common setup or constraints between actions. + def set_print_setting + @print_setting = PrintSetting.find(params[:id]) + end + + # Never trust parameters from the scary internet, only allow the white list through. + def print_setting_params + params.require(:print_setting).permit(:name, :unique_code, :template, :db_name, :db_type, :db_username, :db_password, :printer_name, :api_settings, :page_width, :page_height, :print_copies) + end +end diff --git a/app/helpers/print_settings_helper.rb b/app/helpers/print_settings_helper.rb new file mode 100644 index 00000000..3e712d7c --- /dev/null +++ b/app/helpers/print_settings_helper.rb @@ -0,0 +1,2 @@ +module PrintSettingsHelper +end diff --git a/app/models/print_setting.rb b/app/models/print_setting.rb new file mode 100644 index 00000000..b715af52 --- /dev/null +++ b/app/models/print_setting.rb @@ -0,0 +1,2 @@ +class PrintSetting < ApplicationRecord +end diff --git a/app/views/print_settings/_form.html.erb b/app/views/print_settings/_form.html.erb new file mode 100644 index 00000000..e6ed306b --- /dev/null +++ b/app/views/print_settings/_form.html.erb @@ -0,0 +1,22 @@ +<%= simple_form_for(@print_setting) do |f| %> + <%= f.error_notification %> + +
+ <%= f.input :name %> + <%= f.input :unique_code %> + <%= f.input :template %> + <%= f.input :db_name %> + <%= f.input :db_type %> + <%= f.input :db_username %> + <%= f.input :db_password %> + <%= f.input :printer_name %> + <%= f.input :api_settings %> + <%= f.input :page_width %> + <%= f.input :page_height %> + <%= f.input :print_copies %> +
+ +
+ <%= f.button :submit %> +
+<% end %> diff --git a/app/views/print_settings/_print_setting.json.jbuilder b/app/views/print_settings/_print_setting.json.jbuilder new file mode 100644 index 00000000..b1835de6 --- /dev/null +++ b/app/views/print_settings/_print_setting.json.jbuilder @@ -0,0 +1,2 @@ +json.extract! print_setting, :id, :name,, :unique_code,, :template,, :db_name,, :db_type,, :db_username,, :db_password,, :printer_name,, :api_settings,, :page_width, :page_height, :print_copies, :created_at, :updated_at +json.url print_setting_url(print_setting, format: :json) diff --git a/app/views/print_settings/edit.html.erb b/app/views/print_settings/edit.html.erb new file mode 100644 index 00000000..fdae5f78 --- /dev/null +++ b/app/views/print_settings/edit.html.erb @@ -0,0 +1,6 @@ +

Editing Print Setting

+ +<%= render 'form', print_setting: @print_setting %> + +<%= link_to 'Show', @print_setting %> | +<%= link_to 'Back', print_settings_path %> diff --git a/app/views/print_settings/index.html.erb b/app/views/print_settings/index.html.erb new file mode 100644 index 00000000..32d3dead --- /dev/null +++ b/app/views/print_settings/index.html.erb @@ -0,0 +1,49 @@ +

<%= notice %>

+ +

Print Settings

+ + + + + + + + + + + + + + + + + + + + + + <% @print_settings.each do |print_setting| %> + + + + + + + + + + + + + + + + + + <% end %> + +
NameUnique codeTemplateDb nameDb typeDb usernameDb passwordPrinter nameApi settingsPage widthPage heightPrint copies
<%= print_setting.name %><%= print_setting.unique_code %><%= print_setting.template %><%= print_setting.db_name %><%= print_setting.db_type %><%= print_setting.db_username %><%= print_setting.db_password %><%= print_setting.printer_name %><%= print_setting.api_settings %><%= print_setting.page_width %><%= print_setting.page_height %><%= print_setting.print_copies %><%= link_to 'Show', print_setting %><%= link_to 'Edit', edit_print_setting_path(print_setting) %><%= link_to 'Destroy', print_setting, method: :delete, data: { confirm: 'Are you sure?' } %>
+ +
+ +<%= link_to 'New Print Setting', new_print_setting_path %> diff --git a/app/views/print_settings/index.json.jbuilder b/app/views/print_settings/index.json.jbuilder new file mode 100644 index 00000000..9e448f9f --- /dev/null +++ b/app/views/print_settings/index.json.jbuilder @@ -0,0 +1 @@ +json.array! @print_settings, partial: 'print_settings/print_setting', as: :print_setting diff --git a/app/views/print_settings/new.html.erb b/app/views/print_settings/new.html.erb new file mode 100644 index 00000000..810ad9c9 --- /dev/null +++ b/app/views/print_settings/new.html.erb @@ -0,0 +1,5 @@ +

New Print Setting

+ +<%= render 'form', print_setting: @print_setting %> + +<%= link_to 'Back', print_settings_path %> diff --git a/app/views/print_settings/show.html.erb b/app/views/print_settings/show.html.erb new file mode 100644 index 00000000..77e89fb7 --- /dev/null +++ b/app/views/print_settings/show.html.erb @@ -0,0 +1,64 @@ +

<%= notice %>

+ +

+ Name: + <%= @print_setting.name, %> +

+ +

+ Unique code: + <%= @print_setting.unique_code, %> +

+ +

+ Template: + <%= @print_setting.template, %> +

+ +

+ Db name: + <%= @print_setting.db_name, %> +

+ +

+ Db type: + <%= @print_setting.db_type, %> +

+ +

+ Db username: + <%= @print_setting.db_username, %> +

+ +

+ Db password: + <%= @print_setting.db_password, %> +

+ +

+ Printer name: + <%= @print_setting.printer_name, %> +

+ +

+ Api settings: + <%= @print_setting.api_settings, %> +

+ +

+ Page width: + <%= @print_setting.page_width %> +

+ +

+ Page height: + <%= @print_setting.page_height %> +

+ +

+ Print copies: + <%= @print_setting.print_copies %> +

+ +<%= link_to 'Edit', edit_print_setting_path(@print_setting) %> | +<%= link_to 'Back', print_settings_path %> diff --git a/app/views/print_settings/show.json.jbuilder b/app/views/print_settings/show.json.jbuilder new file mode 100644 index 00000000..10305122 --- /dev/null +++ b/app/views/print_settings/show.json.jbuilder @@ -0,0 +1 @@ +json.partial! "print_settings/print_setting", print_setting: @print_setting diff --git a/db/migrate/20170602093159_create_print_settings.rb b/db/migrate/20170602093159_create_print_settings.rb new file mode 100644 index 00000000..a5ce89d6 --- /dev/null +++ b/db/migrate/20170602093159_create_print_settings.rb @@ -0,0 +1,20 @@ +class CreatePrintSettings < ActiveRecord::Migration[5.1] + def change + create_table :print_settings do |t| + t.string :name, :null => false + t.string :unique_code, :null => false + t.string :template, :null => false + t.string :db_name, :null => false + t.string :db_type, :null => false + t.string :db_username, :null => false + t.string :db_password + t.string :printer_name, :null => false + t.string :api_settings + t.decimal :page_width, :null => false, :default => 200 + t.decimal :page_height, :null => false, :default => 800 + t.integer :print_copies, :null => false, :default => 1 + + t.timestamps + end + end +end diff --git a/spec/controllers/print_settings_controller_spec.rb b/spec/controllers/print_settings_controller_spec.rb new file mode 100644 index 00000000..b64bdbb3 --- /dev/null +++ b/spec/controllers/print_settings_controller_spec.rb @@ -0,0 +1,141 @@ +require 'rails_helper' + +# This spec was generated by rspec-rails when you ran the scaffold generator. +# It demonstrates how one might use RSpec to specify the controller code that +# was generated by Rails when you ran the scaffold generator. +# +# It assumes that the implementation code is generated by the rails scaffold +# generator. If you are using any extension libraries to generate different +# controller code, this generated spec may or may not pass. +# +# It only uses APIs available in rails and/or rspec-rails. There are a number +# of tools you can use to make these specs even more expressive, but we're +# sticking to rails and rspec-rails APIs to keep things simple and stable. +# +# Compared to earlier versions of this generator, there is very limited use of +# stubs and message expectations in this spec. Stubs are only used when there +# is no simpler way to get a handle on the object needed for the example. +# Message expectations are only used when there is no simpler way to specify +# that an instance is receiving a specific message. +# +# Also compared to earlier versions of this generator, there are no longer any +# expectations of assigns and templates rendered. These features have been +# removed from Rails core in Rails 5, but can be added back in via the +# `rails-controller-testing` gem. + +RSpec.describe PrintSettingsController, type: :controller do + + # This should return the minimal set of attributes required to create a valid + # PrintSetting. As you add validations to PrintSetting, be sure to + # adjust the attributes here as well. + let(:valid_attributes) { + skip("Add a hash of attributes valid for your model") + } + + let(:invalid_attributes) { + skip("Add a hash of attributes invalid for your model") + } + + # This should return the minimal set of values that should be in the session + # in order to pass any filters (e.g. authentication) defined in + # PrintSettingsController. Be sure to keep this updated too. + let(:valid_session) { {} } + + describe "GET #index" do + it "returns a success response" do + print_setting = PrintSetting.create! valid_attributes + get :index, params: {}, session: valid_session + expect(response).to be_success + end + end + + describe "GET #show" do + it "returns a success response" do + print_setting = PrintSetting.create! valid_attributes + get :show, params: {id: print_setting.to_param}, session: valid_session + expect(response).to be_success + end + end + + describe "GET #new" do + it "returns a success response" do + get :new, params: {}, session: valid_session + expect(response).to be_success + end + end + + describe "GET #edit" do + it "returns a success response" do + print_setting = PrintSetting.create! valid_attributes + get :edit, params: {id: print_setting.to_param}, session: valid_session + expect(response).to be_success + end + end + + describe "POST #create" do + context "with valid params" do + it "creates a new PrintSetting" do + expect { + post :create, params: {print_setting: valid_attributes}, session: valid_session + }.to change(PrintSetting, :count).by(1) + end + + it "redirects to the created print_setting" do + post :create, params: {print_setting: valid_attributes}, session: valid_session + expect(response).to redirect_to(PrintSetting.last) + end + end + + context "with invalid params" do + it "returns a success response (i.e. to display the 'new' template)" do + post :create, params: {print_setting: invalid_attributes}, session: valid_session + expect(response).to be_success + end + end + end + + describe "PUT #update" do + context "with valid params" do + let(:new_attributes) { + skip("Add a hash of attributes valid for your model") + } + + it "updates the requested print_setting" do + print_setting = PrintSetting.create! valid_attributes + put :update, params: {id: print_setting.to_param, print_setting: new_attributes}, session: valid_session + print_setting.reload + skip("Add assertions for updated state") + end + + it "redirects to the print_setting" do + print_setting = PrintSetting.create! valid_attributes + put :update, params: {id: print_setting.to_param, print_setting: valid_attributes}, session: valid_session + expect(response).to redirect_to(print_setting) + end + end + + context "with invalid params" do + it "returns a success response (i.e. to display the 'edit' template)" do + print_setting = PrintSetting.create! valid_attributes + put :update, params: {id: print_setting.to_param, print_setting: invalid_attributes}, session: valid_session + expect(response).to be_success + end + end + end + + describe "DELETE #destroy" do + it "destroys the requested print_setting" do + print_setting = PrintSetting.create! valid_attributes + expect { + delete :destroy, params: {id: print_setting.to_param}, session: valid_session + }.to change(PrintSetting, :count).by(-1) + end + + it "redirects to the print_settings list" do + print_setting = PrintSetting.create! valid_attributes + delete :destroy, params: {id: print_setting.to_param}, session: valid_session + expect(response).to redirect_to(print_settings_url) + end + end + +end diff --git a/spec/helpers/print_settings_helper_spec.rb b/spec/helpers/print_settings_helper_spec.rb new file mode 100644 index 00000000..29cb2eec --- /dev/null +++ b/spec/helpers/print_settings_helper_spec.rb @@ -0,0 +1,15 @@ +require 'rails_helper' + +# Specs in this file have access to a helper object that includes +# the PrintSettingsHelper. For example: +# +# describe PrintSettingsHelper do +# describe "string concat" do +# it "concats two strings with spaces" do +# expect(helper.concat_strings("this","that")).to eq("this that") +# end +# end +# end +RSpec.describe PrintSettingsHelper, type: :helper do + pending "add some examples to (or delete) #{__FILE__}" +end diff --git a/spec/models/print_setting_spec.rb b/spec/models/print_setting_spec.rb new file mode 100644 index 00000000..d2ee515b --- /dev/null +++ b/spec/models/print_setting_spec.rb @@ -0,0 +1,5 @@ +require 'rails_helper' + +RSpec.describe PrintSetting, type: :model do + pending "add some examples to (or delete) #{__FILE__}" +end diff --git a/spec/requests/print_settings_spec.rb b/spec/requests/print_settings_spec.rb new file mode 100644 index 00000000..9c205c7a --- /dev/null +++ b/spec/requests/print_settings_spec.rb @@ -0,0 +1,10 @@ +require 'rails_helper' + +RSpec.describe "PrintSettings", type: :request do + describe "GET /print_settings" do + it "works! (now write some real specs)" do + get print_settings_path + expect(response).to have_http_status(200) + end + end +end diff --git a/spec/routing/print_settings_routing_spec.rb b/spec/routing/print_settings_routing_spec.rb new file mode 100644 index 00000000..9018c57a --- /dev/null +++ b/spec/routing/print_settings_routing_spec.rb @@ -0,0 +1,39 @@ +require "rails_helper" + +RSpec.describe PrintSettingsController, type: :routing do + describe "routing" do + + it "routes to #index" do + expect(:get => "/print_settings").to route_to("print_settings#index") + end + + it "routes to #new" do + expect(:get => "/print_settings/new").to route_to("print_settings#new") + end + + it "routes to #show" do + expect(:get => "/print_settings/1").to route_to("print_settings#show", :id => "1") + end + + it "routes to #edit" do + expect(:get => "/print_settings/1/edit").to route_to("print_settings#edit", :id => "1") + end + + it "routes to #create" do + expect(:post => "/print_settings").to route_to("print_settings#create") + end + + it "routes to #update via PUT" do + expect(:put => "/print_settings/1").to route_to("print_settings#update", :id => "1") + end + + it "routes to #update via PATCH" do + expect(:patch => "/print_settings/1").to route_to("print_settings#update", :id => "1") + end + + it "routes to #destroy" do + expect(:delete => "/print_settings/1").to route_to("print_settings#destroy", :id => "1") + end + + end +end diff --git a/spec/views/print_settings/edit.html.erb_spec.rb b/spec/views/print_settings/edit.html.erb_spec.rb new file mode 100644 index 00000000..4530d45c --- /dev/null +++ b/spec/views/print_settings/edit.html.erb_spec.rb @@ -0,0 +1,51 @@ +require 'rails_helper' + +RSpec.describe "print_settings/edit", type: :view do + before(:each) do + @print_setting = assign(:print_setting, PrintSetting.create!( + :name, => "MyString", + :unique_code, => "MyString", + :template, => "MyString", + :db_name, => "MyString", + :db_type, => "MyString", + :db_username, => "MyString", + :db_password, => "MyString", + :printer_name, => "MyString", + :api_settings, => "MyString", + :page_width => "", + :page_height => "", + :print_copies => 1 + )) + end + + it "renders the edit print_setting form" do + render + + assert_select "form[action=?][method=?]", print_setting_path(@print_setting), "post" do + + assert_select "input[name=?]", "print_setting[name,]" + + assert_select "input[name=?]", "print_setting[unique_code,]" + + assert_select "input[name=?]", "print_setting[template,]" + + assert_select "input[name=?]", "print_setting[db_name,]" + + assert_select "input[name=?]", "print_setting[db_type,]" + + assert_select "input[name=?]", "print_setting[db_username,]" + + assert_select "input[name=?]", "print_setting[db_password,]" + + assert_select "input[name=?]", "print_setting[printer_name,]" + + assert_select "input[name=?]", "print_setting[api_settings,]" + + assert_select "input[name=?]", "print_setting[page_width]" + + assert_select "input[name=?]", "print_setting[page_height]" + + assert_select "input[name=?]", "print_setting[print_copies]" + end + end +end diff --git a/spec/views/print_settings/index.html.erb_spec.rb b/spec/views/print_settings/index.html.erb_spec.rb new file mode 100644 index 00000000..b5e76904 --- /dev/null +++ b/spec/views/print_settings/index.html.erb_spec.rb @@ -0,0 +1,52 @@ +require 'rails_helper' + +RSpec.describe "print_settings/index", type: :view do + before(:each) do + assign(:print_settings, [ + PrintSetting.create!( + :name, => "Name,", + :unique_code, => "Unique Code,", + :template, => "Template,", + :db_name, => "Db Name,", + :db_type, => "Db Type,", + :db_username, => "Db Username,", + :db_password, => "Db Password,", + :printer_name, => "Printer Name,", + :api_settings, => "Api Settings,", + :page_width => "", + :page_height => "", + :print_copies => 2 + ), + PrintSetting.create!( + :name, => "Name,", + :unique_code, => "Unique Code,", + :template, => "Template,", + :db_name, => "Db Name,", + :db_type, => "Db Type,", + :db_username, => "Db Username,", + :db_password, => "Db Password,", + :printer_name, => "Printer Name,", + :api_settings, => "Api Settings,", + :page_width => "", + :page_height => "", + :print_copies => 2 + ) + ]) + end + + it "renders a list of print_settings" do + render + assert_select "tr>td", :text => "Name,".to_s, :count => 2 + assert_select "tr>td", :text => "Unique Code,".to_s, :count => 2 + assert_select "tr>td", :text => "Template,".to_s, :count => 2 + assert_select "tr>td", :text => "Db Name,".to_s, :count => 2 + assert_select "tr>td", :text => "Db Type,".to_s, :count => 2 + assert_select "tr>td", :text => "Db Username,".to_s, :count => 2 + assert_select "tr>td", :text => "Db Password,".to_s, :count => 2 + assert_select "tr>td", :text => "Printer Name,".to_s, :count => 2 + assert_select "tr>td", :text => "Api Settings,".to_s, :count => 2 + assert_select "tr>td", :text => "".to_s, :count => 2 + assert_select "tr>td", :text => "".to_s, :count => 2 + assert_select "tr>td", :text => 2.to_s, :count => 2 + end +end diff --git a/spec/views/print_settings/new.html.erb_spec.rb b/spec/views/print_settings/new.html.erb_spec.rb new file mode 100644 index 00000000..a4a79d4f --- /dev/null +++ b/spec/views/print_settings/new.html.erb_spec.rb @@ -0,0 +1,51 @@ +require 'rails_helper' + +RSpec.describe "print_settings/new", type: :view do + before(:each) do + assign(:print_setting, PrintSetting.new( + :name, => "MyString", + :unique_code, => "MyString", + :template, => "MyString", + :db_name, => "MyString", + :db_type, => "MyString", + :db_username, => "MyString", + :db_password, => "MyString", + :printer_name, => "MyString", + :api_settings, => "MyString", + :page_width => "", + :page_height => "", + :print_copies => 1 + )) + end + + it "renders new print_setting form" do + render + + assert_select "form[action=?][method=?]", print_settings_path, "post" do + + assert_select "input[name=?]", "print_setting[name,]" + + assert_select "input[name=?]", "print_setting[unique_code,]" + + assert_select "input[name=?]", "print_setting[template,]" + + assert_select "input[name=?]", "print_setting[db_name,]" + + assert_select "input[name=?]", "print_setting[db_type,]" + + assert_select "input[name=?]", "print_setting[db_username,]" + + assert_select "input[name=?]", "print_setting[db_password,]" + + assert_select "input[name=?]", "print_setting[printer_name,]" + + assert_select "input[name=?]", "print_setting[api_settings,]" + + assert_select "input[name=?]", "print_setting[page_width]" + + assert_select "input[name=?]", "print_setting[page_height]" + + assert_select "input[name=?]", "print_setting[print_copies]" + end + end +end diff --git a/spec/views/print_settings/show.html.erb_spec.rb b/spec/views/print_settings/show.html.erb_spec.rb new file mode 100644 index 00000000..8dd2a3eb --- /dev/null +++ b/spec/views/print_settings/show.html.erb_spec.rb @@ -0,0 +1,36 @@ +require 'rails_helper' + +RSpec.describe "print_settings/show", type: :view do + before(:each) do + @print_setting = assign(:print_setting, PrintSetting.create!( + :name, => "Name,", + :unique_code, => "Unique Code,", + :template, => "Template,", + :db_name, => "Db Name,", + :db_type, => "Db Type,", + :db_username, => "Db Username,", + :db_password, => "Db Password,", + :printer_name, => "Printer Name,", + :api_settings, => "Api Settings,", + :page_width => "", + :page_height => "", + :print_copies => 2 + )) + end + + it "renders attributes in

" do + render + expect(rendered).to match(/Name,/) + expect(rendered).to match(/Unique Code,/) + expect(rendered).to match(/Template,/) + expect(rendered).to match(/Db Name,/) + expect(rendered).to match(/Db Type,/) + expect(rendered).to match(/Db Username,/) + expect(rendered).to match(/Db Password,/) + expect(rendered).to match(/Printer Name,/) + expect(rendered).to match(/Api Settings,/) + expect(rendered).to match(//) + expect(rendered).to match(//) + expect(rendered).to match(/2/) + end +end diff --git a/test/system/print_settings_test.rb b/test/system/print_settings_test.rb new file mode 100644 index 00000000..a0b4ab23 --- /dev/null +++ b/test/system/print_settings_test.rb @@ -0,0 +1,9 @@ +require "application_system_test_case" + +class PrintSettingsTest < ApplicationSystemTestCase + # test "visiting the index" do + # visit print_settings_url + # + # assert_selector "h1", text: "PrintSetting" + # end +end