Tag: MINITEST
Me gustaría probar un cliente de API en rspec. Actualmente estoy simulando Typhoeus, pero me preguntaba si hay una forma más completa de hacerlo. Básicamente, lo que me gustaría es algo como esto: it “hace una conexión con el servidor” do MockServer.new do |server| subject.url = server.url subject.run! expect(server.last_request.params).to eq({some: . . . Read more
Tengo una aplicación pura de Ruby para la cual escribí algunas pruebas unitarias. Por ejemplo, la siguiente prueba funciona bien: require ‘pry’ require ‘minitest/autorun’ require ‘active_support’ require_relative ‘../../../../src/parsers/incoming_events/continue_quiz’ module Parsers module IncomingEvents class ContinueQuizTest < ActiveSupport::TestCase test ‘parse JSON to Lexis Nexis format’ do assert_equal expected_hash, service.call end private def . . . Read more
Los siguientes dos tests separados están manejando sus respectivas cadenas de JSON: assert_no_difference(‘Article.count’) do post array_api_v1_articles_path, params: @existing, as: :json end { “items”: [ { “code”: “00083”, “sell_price”: 0.01 }, … ] } assert_changes articles(:fifty_five).sell_price, from: 9.99, to: 0.01 do post array_api_v1_articles_path, params: @existing, as: :json end { “items”: [ . . . Read more
El controlador de la aplicación cuenta con una acción antes que establece algunos métodos en secuencia (sitio establece tienda, usuario tiene roles a través de una tabla join) class ApplicationController < ActionController::Base before<em>action :set</em>site <p>protected</p> <p>def set<em>site @shop = Shop.find(params[:shop</em>id].to<em>i) […] role</em>sets current<em>user</em>role end</p> <p>def role<em>sets @operator</em>roles = [2,3,4,5] end</p> . . . Read more
El siguiente método de Minitest def test_not_access @bad_users.each do |user| @actions.each do |action| sign_in user get action assert_redirected_to root_path end end end está devolviendo 80 afirmaciones. Sin embargo, @bad_users es un array de 10 usuarios, y @actions es un array de 4. La configuración está dividida en dos bloques de . . . Read more