Skip to content

Commit

Permalink
Merge pull request #73 from CharisWorks/bugfixes
Browse files Browse the repository at this point in the history
CORSの設定など
  • Loading branch information
WhatACotton authored Apr 7, 2024
2 parents 1dcb9c1 + 3fba3c0 commit c58850d
Show file tree
Hide file tree
Showing 19 changed files with 238 additions and 92 deletions.
47 changes: 47 additions & 0 deletions .github/workflows/testing.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
name: Go testing

on:
push:
branches: ["develop", "bugfixes"]
pull_request:
branches: ["develop"]

jobs:
small_tests:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3

- name: Set up Go
uses: actions/setup-go@v4
with:
go-version: "1.22.1"
- name: execute small test
run: |
cd internal/cart
go test -run TestCartUtils
midium_tests:
runs-on: ubuntu-latest
needs: small_tests
steps:
- uses: actions/checkout@v3

- name: Set up Go
uses: actions/setup-go@v4
with:
go-version: "1.22.1"
- name: Setup databases
run: |
sudo apt-get update
sudo apt install docker docker-compose -y
curl -s https://packages.stripe.dev/api/security/keypair/stripe-cli-gpg/public | gpg --dearmor | sudo tee /usr/share/keyrings/stripe.gpg
echo "deb [signed-by=/usr/share/keyrings/stripe.gpg] https://packages.stripe.dev/stripe-cli-debian-local stable main" | sudo tee -a /etc/apt/sources.list.d/stripe.list
sudo apt update
sudo apt install stripe
bash test_server.sh &
sleep 10
- name: execute midium test
run: |
cd internal/cart
go test -run TestRepository
go test -run TestCartRequests
8 changes: 4 additions & 4 deletions handler/images.go
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ func (h *Handler) SetupRoutesForImages(firebaseApp validation.IFirebaseApp, manu
return
}
log.Print(*itemId)
items, err := Crud.GetImages(*itemId + "/")
items, err := Crud.GetImages("src/images/" + *itemId + "/")
if err != nil {
log.Print(err)
err = &utils.InternalError{Message: utils.InternalErrorR2}
Expand Down Expand Up @@ -100,10 +100,10 @@ func (h *Handler) SetupRoutesForImages(firebaseApp validation.IFirebaseApp, manu
}
// ファイルの保存先パス
if i == 0 {
destPath = filepath.Join(*itemId, "/thumb.png")
destPath = filepath.Join("src/images/"+*itemId, "/thumb.png")

} else {
destPath = filepath.Join(*itemId, "/", strconv.Itoa(i)+".png")
destPath = filepath.Join("src/images/"+*itemId, "/", strconv.Itoa(i)+".png")
}
Crud.Crud.UploadObject(ctx, b, destPath)
}
Expand All @@ -126,7 +126,7 @@ func (h *Handler) SetupRoutesForImages(firebaseApp validation.IFirebaseApp, manu
utils.ReturnErrorResponse(ctx, &utils.InternalError{Message: utils.InternalErrorUnAuthorized})
return
}
images, err := Crud.GetImages(*itemId + "/")
images, err := Crud.GetImages("src/images/" + *itemId + "/")
if err != nil {
utils.ReturnErrorResponse(ctx, err)
return
Expand Down
4 changes: 2 additions & 2 deletions handler/stripe.go
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,7 @@ func (h *Handler) SetupRoutesForStripe(firebaseApp validation.IFirebaseApp, User
utils.ReturnErrorResponse(ctx, err)
return
}
ctx.JSON(http.StatusOK, TransactionList)
ctx.JSON(http.StatusOK, gin.H{"transaction_list": TransactionList})
})
StripeRouter.GET("/transaction/:transactionId", func(ctx *gin.Context) {
transactionId, err := utils.GetParams("transactionId", ctx)
Expand All @@ -65,7 +65,7 @@ func (h *Handler) SetupRoutesForStripe(firebaseApp validation.IFirebaseApp, User
utils.ReturnErrorResponse(ctx, err)
return
}
ctx.JSON(http.StatusOK, TransactionDetails)
ctx.JSON(http.StatusOK, gin.H{"transaction_details": TransactionDetails})
})
}
StripeManufacturerRouter := h.Router.Group("/api/stripe")
Expand Down
4 changes: 2 additions & 2 deletions internal/cart/cart_repository_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ import (
"github.com/charisworks/charisworks-backend/internal/utils"
)

func Test_CartCRUD(t *testing.T) {
func TestRepository_CartCRUD(t *testing.T) {
After(t)

db, err := utils.DBInitTest()
Expand Down Expand Up @@ -382,7 +382,7 @@ func Test_CartCRUD(t *testing.T) {
After(t)
}

func Test_GetItem(t *testing.T) {
func TestRepository_GetItem(t *testing.T) {
db, err := utils.DBInitTest()
if err != nil {
t.Errorf("error")
Expand Down
6 changes: 0 additions & 6 deletions internal/cart/cart_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -192,13 +192,7 @@ func After(t *testing.T) {
if err != nil {
t.Errorf("error")
}
trdb, err := utils.HistoryDBInitTest()
if err != nil {
t.Errorf("error")
}

trdb.Table("transactions").Where("1=1").Delete(utils.Transaction{})
trdb.Table("transaction_items").Where("1=1").Delete(utils.TransactionItem{})
db.Table("users").Where("1=1").Delete(utils.User{})
db.Table("shippings").Where("1=1").Delete(utils.Shipping{})
db.Table("items").Where("1=1").Delete(utils.Item{})
Expand Down
6 changes: 3 additions & 3 deletions internal/cash/stripe.go
Original file line number Diff line number Diff line change
Expand Up @@ -78,8 +78,8 @@ func (r Requests) GetRegisterLink(email string, user users.User) (url string, er
}
accountLinkParams := &stripe.AccountLinkParams{
Account: stripe.String(a.ID),
RefreshURL: stripe.String("http://localhost:3000"),
ReturnURL: stripe.String("http://localhost:3000"),
RefreshURL: stripe.String("http://beta.charis.works"),
ReturnURL: stripe.String("http://beta.charis.works/purchase?step=3"),
Type: stripe.String("account_onboarding"),
Collect: stripe.String("eventually_due"),
}
Expand Down Expand Up @@ -139,7 +139,7 @@ func (r Requests) CreatePaymentintent(userId string, totalAmount int) (ClientSec

Currency: stripe.String(string(stripe.CurrencyJPY)),
// In the latest version of the API, specifying the `automatic_payment_methods` parameter is optional because Stripe enables its functionality by default.
PaymentMethodTypes: []*string{stripe.String("card"), stripe.String("konbini")},
PaymentMethodTypes: []*string{stripe.String("card")},
}

pi, err := paymentintent.New(params)
Expand Down
7 changes: 1 addition & 6 deletions internal/manufacturer/manufacturer_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -164,12 +164,7 @@ func After(t *testing.T) {
if err != nil {
t.Errorf("error")
}
trdb, err := utils.HistoryDBInitTest()
if err != nil {
t.Errorf("error")
}
trdb.Table("transactions").Where("1=1").Delete(utils.Transaction{})
trdb.Table("transaction_items").Where("1=1").Delete(utils.TransactionItem{})

db.Table("users").Where("1=1").Delete(utils.User{})
db.Table("shippings").Where("1=1").Delete(utils.Shipping{})
db.Table("items").Where("1=1").Delete(utils.Item{})
Expand Down
5 changes: 3 additions & 2 deletions internal/manufacturer/manufacturer_utils_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ import (
"reflect"
"testing"

"github.com/charisworks/charisworks-backend/internal/items"
"github.com/charisworks/charisworks-backend/internal/utils"
)

Expand Down Expand Up @@ -188,7 +189,7 @@ func TestInspectedUpdatePayload(t *testing.T) {
Tags: []string{"aaa", "bbb"},
},
want: map[string]interface{}{
"status": "Available",
"status": items.Available,
"tags": []string{"aaa", "bbb"},
},
},
Expand Down Expand Up @@ -221,7 +222,7 @@ func TestInspectedUpdatePayload(t *testing.T) {
log.Print(err.Error())
}
if !reflect.DeepEqual(payload, tt.want) {
t.Errorf("%v,got,%v,want%v", tt.name, payload, tt.want)
t.Errorf("got %v, want %v", payload, tt.want)
}

})
Expand Down
7 changes: 2 additions & 5 deletions internal/transaction/transaction_repository_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -18,16 +18,13 @@ func Test_Transaction_Repository(t *testing.T) {
if err != nil {
t.Errorf("error")
}
trdb, err := utils.HistoryDBInitTest()
if err != nil {
t.Errorf("error")
}

R2Conns := images.R2Conns{Crud: nil}
UserRepository := users.UserRepository{DB: db}
manufacturerRequests := manufacturer.Requests{ManufacturerItemRepository: manufacturer.Repository{DB: db}, ManufacturerInspectPayloadUtils: manufacturer.ManufacturerUtils{}, ItemRepository: items.ItemRepository{DB: db}}
manufacturerRepository := manufacturer.Repository{DB: db, Crud: R2Conns}
cartRequests := cart.Requests{CartRepository: cart.Repository{DB: db}, CartUtils: cart.Utils{}, ItemGetStatus: items.GetStatus{DB: db}}
transactionRepository := Repository{DB: trdb, UserRepository: UserRepository}
transactionRepository := Repository{DB: db, UserRepository: UserRepository}
cartRepository := cart.Repository{DB: db}
Items := []manufacturer.RegisterPayload{
{
Expand Down
26 changes: 8 additions & 18 deletions internal/transaction/transaction_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -20,16 +20,13 @@ func Test_Transaction(t *testing.T) {
if err != nil {
t.Errorf("error")
}
trdb, err := utils.HistoryDBInitTest()
if err != nil {
t.Errorf("error")
}

UserRepository := users.UserRepository{DB: db}
userRequests := users.Requests{UserRepository: UserRepository, UserUtils: users.UserUtils{}}
manufacturerRequests := manufacturer.Requests{ManufacturerItemRepository: manufacturer.Repository{DB: db}, ManufacturerInspectPayloadUtils: manufacturer.ManufacturerUtils{}, ItemRepository: items.ItemRepository{DB: db}}
cartRequests := cart.Requests{CartRepository: cart.Repository{DB: db}, CartUtils: cart.Utils{}, ItemGetStatus: items.GetStatus{DB: db}}
transactionRequests := TransactionRequests{TransactionRepository: Repository{DB: trdb, UserRepository: UserRepository}, CartRepository: cartRequests.CartRepository, CartUtils: cartRequests.CartUtils, StripeRequests: cash.Requests{}, StripeUtils: cash.Utils{}}
webhook := Webhook{StripeUtils: cash.Utils{}, TransactionRepository: Repository{DB: trdb, UserRepository: UserRepository}, ItemUpdater: items.Updater{DB: db}}
transactionRequests := TransactionRequests{TransactionRepository: Repository{DB: db, UserRepository: UserRepository}, CartRepository: cartRequests.CartRepository, CartUtils: cartRequests.CartUtils, StripeRequests: cash.Requests{}, StripeUtils: cash.Utils{}}
webhook := Webhook{StripeUtils: cash.Utils{}, TransactionRepository: Repository{DB: db, UserRepository: UserRepository}, ItemUpdater: items.Updater{DB: db}}
user_data := []struct {
userId string
profile users.UserProfile
Expand Down Expand Up @@ -405,16 +402,13 @@ func Test_Transaction_Cancelled(t *testing.T) {
if err != nil {
t.Errorf("error")
}
trdb, err := utils.HistoryDBInitTest()
if err != nil {
t.Errorf("error")
}

UserRepository := users.UserRepository{DB: db}
userRequests := users.Requests{UserRepository: UserRepository, UserUtils: users.UserUtils{}}
manufacturerRequests := manufacturer.Requests{ManufacturerItemRepository: manufacturer.Repository{DB: db}, ManufacturerInspectPayloadUtils: manufacturer.ManufacturerUtils{}, ItemRepository: items.ItemRepository{DB: db}}
cartRequests := cart.Requests{CartRepository: cart.Repository{DB: db}, CartUtils: cart.Utils{}, ItemGetStatus: items.GetStatus{DB: db}}
transactionRequests := TransactionRequests{TransactionRepository: Repository{DB: trdb, UserRepository: UserRepository}, CartRepository: cartRequests.CartRepository, CartUtils: cartRequests.CartUtils, StripeRequests: cash.Requests{}, StripeUtils: cash.Utils{}}
webhook := Webhook{StripeUtils: cash.Utils{}, TransactionRepository: Repository{DB: trdb, UserRepository: UserRepository}, ItemUpdater: items.Updater{DB: db}}
transactionRequests := TransactionRequests{TransactionRepository: Repository{DB: db, UserRepository: UserRepository}, CartRepository: cartRequests.CartRepository, CartUtils: cartRequests.CartUtils, StripeRequests: cash.Requests{}, StripeUtils: cash.Utils{}}
webhook := Webhook{StripeUtils: cash.Utils{}, TransactionRepository: Repository{DB: db, UserRepository: UserRepository}, ItemUpdater: items.Updater{DB: db}}
user_data := []struct {
userId string
profile users.UserProfile
Expand Down Expand Up @@ -736,13 +730,9 @@ func After(t *testing.T) {
if err != nil {
t.Errorf("error")
}
trdb, err := utils.HistoryDBInitTest()
if err != nil {
t.Errorf("error")
}

trdb.Table("transactions").Where("1=1").Delete(utils.Transaction{})
trdb.Table("transaction_items").Where("1=1").Delete(utils.TransactionItem{})
db.Table("transactions").Where("1=1").Delete(utils.Transaction{})
db.Table("transaction_items").Where("1=1").Delete(utils.TransactionItem{})
db.Table("users").Where("1=1").Delete(utils.User{})
db.Table("shippings").Where("1=1").Delete(utils.Shipping{})
db.Table("items").Where("1=1").Delete(utils.Item{})
Expand Down
32 changes: 16 additions & 16 deletions internal/users/models.go
Original file line number Diff line number Diff line change
Expand Up @@ -5,26 +5,26 @@ import (
)

type User struct {
UserId string `json:"user_id" gorm:"user_id"`
UserProfile UserProfile `json:"profile" gorm:"profile"`
UserAddress UserAddress `json:"address" gorm:"address"`
UserId string `json:"user_id,omitempty" gorm:"user_id"`
UserProfile UserProfile `json:"profile,omitempty" gorm:"profile"`
UserAddress UserAddress `json:"address,omitempty" gorm:"address"`
}
type UserProfile struct {
DisplayName string `json:"display_name" gorm:"display_name"`
Description string `json:"description" gorm:"description"`
StripeAccountId string `json:"stripe_account_id" gorm:"stripe_account_id"`
DisplayName string `json:"display_name,omitempty" gorm:"display_name"`
Description string `json:"description,omitempty" gorm:"description"`
StripeAccountId string `json:"stripe_account_id,omitempty" gorm:"stripe_account_id"`
CreatedAt time.Time `json:"crated_at" gorm:"created_at"`
}
type UserAddress struct {
FirstName string `json:"first_name" gorm:"first_name"`
FirstNameKana string `json:"first_name_kana" gorm:"first_name_kana"`
LastName string `json:"last_name" gorm:"last_name"`
LastNameKana string `json:"last_name_kana" gorm:"last_name_kana"`
ZipCode string `json:"zip_code" gorm:"zip_code"`
Address1 string `json:"address_1" gorm:"address_1"`
Address2 string `json:"address_2" gorm:"address_2"`
Address3 string `json:"address_3" gorm:"address_3"`
PhoneNumber string `json:"phone_number" gorm:"phone_number"`
FirstName string `json:"first_name,omitempty" gorm:"first_name"`
FirstNameKana string `json:"first_name_kana,omitempty" gorm:"first_name_kana"`
LastName string `json:"last_name,omitempty" gorm:"last_name"`
LastNameKana string `json:"last_name_kana,omitempty" gorm:"last_name_kana"`
ZipCode string `json:"zip_code,omitempty" gorm:"zip_code"`
Address1 string `json:"address_1,omitempty" gorm:"address_1"`
Address2 string `json:"address_2,omitempty" gorm:"address_2"`
Address3 string `json:"address_3,omitempty" gorm:"address_3"`
PhoneNumber string `json:"phone_number,omitempty" gorm:"phone_number"`
}
type UserProfileRegisterPayload struct {
DisplayName string `json:"display_name" binding:"required"`
Expand All @@ -39,7 +39,7 @@ type AddressRegisterPayload struct {
Address1 string `json:"address_1" binding:"required"`
Address2 string `json:"address_2" binding:"required"`
Address3 string `json:"address_3"`
PhoneNumber string `json:"phone_number" binding:"required"`
PhoneNumber string `json:"phone_number" `
}

type IRequests interface {
Expand Down
4 changes: 4 additions & 0 deletions internal/users/user_repository.go
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,10 @@ func (r UserRepository) Create(UserId string) error {
func (r UserRepository) Get(UserId string) (user User, err error) {
DBUser := new(utils.User)
user = *new(User)
if r.DB.Table("users").FirstOrCreate(&DBUser, utils.User{Id: UserId}).Error != nil {
log.Print("DB error: ", err)
return user, err
}
if err := r.DB.Table("users").Where("id = ?", UserId).First(&DBUser).Error; err != nil {
log.Print("DB error: ", err)
if err.Error() == "record not found" {
Expand Down
Loading

0 comments on commit c58850d

Please sign in to comment.