- Đọc và xác định yêu cầu: Nắm rõ yêu cầu, cách tính điểm và lường trước các vấn đề của test case -> memo
- Cách tính điểm
- Các luật hạn chế
- Các api và testcase
- Các thông số môi trường cần xác nhận trước khi làm
- ruby, mysql, nginx, redis version
require 'rails_helper' | |
RSpec.describe "Events", js: true, type: :system do | |
scenario "user open event details page /events/:id" do | |
event = create(:event) | |
visit event_path(event) | |
expect(page).to have_selector("h1", text: event.name) | |
end | |
context "when user login in to app" do | |
include_context "when login required" | |
scenario "user create new event /events/new" do |
require 'rails_helper' | |
RSpec.describe "Event", type: :request do | |
include_context "when login required" | |
describe "GET Event Request" do | |
it "works! with show request" do | |
event = create(:event) | |
get event_path(event.id) | |
expect(response).to have_http_status(200) | |
end | |
it "works! with edit request" do |
require 'rails_helper' | |
RSpec.describe "Events", js: true, type: :system do | |
scenario "user open event details page /events/:id" do | |
event = create(:event) | |
visit event_path(event) | |
expect(page).to have_selector("h1", text: event.name) | |
end | |
context "when user login in to app" do | |
include_context "when login required" | |
scenario "user create new event /events/new" do |
def login_as(user) | |
allow_any_instance_of(ApplicationController).to receive(:current_user).and_return(user) | |
end | |
RSpec.shared_context 'when login required' do | |
let(:user) { create(:user) } | |
before do | |
login_as(user) | |
end |
require 'rails_helper' | |
RSpec.describe Event, type: :model do | |
describe "Event Model attributes validation" do | |
context "when valid data" do | |
it "is valid with a name, place, content, start_at, end_at" do | |
user = create(:user, name: "Aaron Peter", provider: "Google", uid: "3456", image_url: "./quangdeptrai123.png") | |
new_event = create(:event, owner: user) | |
expect(new_event).to be_valid |
TDD研修の課題です。 | |
課題の内容は: https://gist.github.com/twada/856c37103ebd3d1fb973ba2c2654f9d6 | |
TODO | |
Product | |
name | price | sale_date | sale_rate | |
'MS WORD' | 18800 | [0] | [1] |
参考: https://github.com/catatsuy/memo_isucon/blob/master/README.md Best Practices Gist: https://gist.github.com/minhquang4334/26e86a84731164581ed25d3fc7fe5211
package main | |
import ( | |
"context" | |
"database/sql" | |
"fmt" | |
"time" | |
_ "github.com/go-sql-driver/mysql" | |
) |