Skip to content

Instantly share code, notes, and snippets.

View donrestarone's full-sized avatar
🤖
Building products

Don Restarone donrestarone

🤖
Building products
View GitHub Profile
@donrestarone
donrestarone / spec_helper.rb
Created March 14, 2020 18:42
simplecov configuration for rspec spec_helper
require 'simplecov'
SimpleCov.use_merging true
SimpleCov.start do
load_profile 'rails'
end
@donrestarone
donrestarone / test.rake
Created March 14, 2020 18:50
a simple rake task for running the full test suite
namespace :test do
desc "test entire app"
task :full_suite => [:environment] do
if !Rails.env.production?
coverage_folder = "#{Rails.root}/coverage"
sh("rm -rf #{coverage_folder}")
Rake::Task["db:drop"].invoke
Rake::Task["db:create"].invoke
Rake::Task["db:migrate"].invoke
sh("rails test --verbose")
@donrestarone
donrestarone / workflow.yml
Created March 14, 2020 19:26
a simple github workflow for testing rails apps
name: Ruby
on:
push:
branches:
- master
pull_request:
branches:
- master
@donrestarone
donrestarone / FriendsContainer.js
Created March 15, 2020 16:46
a functional-style react component that is redux & router connected.
import React, {useEffect} from 'react';
import { connect } from 'react-redux';
import './FriendsContainer.css';
import { FontAwesomeIcon } from '@fortawesome/react-fontawesome';
import { faSortAmountDown } from '@fortawesome/free-solid-svg-icons';
import DropdownMenu from '../../../../Shared/Global/DropdownMenu/DropdownMenu';
import FriendCard from '../FriendCard/FriendCard';
import ErrorBox from '../../../../Shared/Global/ErrorBox/ErrorBox'
import {listFriendsByContext} from '../../../../../Services/Friends/ListFriends'
import {requestAuthenticationErrorHandler} from '../../../../../Utilities/AuthUtilities/Auth'
@donrestarone
donrestarone / FriendsContainer.test.js
Last active March 15, 2020 18:21
a simple react component test for testing a fetch request and conditional rendering
import React from 'react';
import {FriendsContainer} from './FriendsContainer';
import { configure, mount} from 'enzyme'
import Adapter from 'enzyme-adapter-react-16'
import {friend} from '../../../../../../mocks/friend/friendMock'
configure({adapter: new Adapter()})
describe('<FriendsContainer/>', () => {
@donrestarone
donrestarone / ModalOverlay.js
Last active March 15, 2020 18:50
a simple react component that uses inline css styles in javascript
import React from 'react';
import './ModalOverlay.css';
import { FontAwesomeIcon } from '@fortawesome/react-fontawesome';
import { faChevronRight } from '@fortawesome/free-solid-svg-icons';
export const ModalOverlay = props => {
const hiddenStyle = {
right: "-100%"
}
@donrestarone
donrestarone / ModalOverlay.test.js
Created March 15, 2020 18:52
a simple test file for testing a react component and its click handlers and CSS
import React from 'react';
import { configure, mount} from 'enzyme'
import Adapter from 'enzyme-adapter-react-16'
import ModalOverlay from './ModalOverlay'
configure({adapter: new Adapter()})
describe('<ModalOverlay/>', () => {
it('should have css style right -100% on mount', () => {
@donrestarone
donrestarone / friendmock.js
Created March 16, 2020 13:37
a simple example of mocking an API response with a javascript object
export const friend = () => {
return {
id: "79",
type: "friend",
attributes: {
email: "DarkSilvia4463@O'Keefe.com",
phone: "2855537688",
created_at: "2020-02-17T14:27:57.386Z",
updated_at: "2020-02-17T14:27:57.386Z",
first_name: "Silvia",
@donrestarone
donrestarone / package.json
Created March 16, 2020 13:55
a simple package.json file for create-react-app that has a test and test coverage script
{
"name": "react-app",
"version": "0.1.0",
"private": true,
"dependencies": {
"@fortawesome/fontawesome-svg-core": "^1.2.27",
"@fortawesome/free-solid-svg-icons": "^5.12.1",
"@fortawesome/react-fontawesome": "^0.1.8",
"@testing-library/jest-dom": "^4.2.4",
"@testing-library/react": "^9.3.2",
@donrestarone
donrestarone / test.yml
Created March 16, 2020 14:00
a simple github workflow for automating the test suite in a react application
name: Node.js CI
on:
push:
branches:
- master
pull_request:
branches:
- master