Skip to content

Commit

Permalink
config update--overall refactor
Browse files Browse the repository at this point in the history
  • Loading branch information
Daniel-Sogbey committed Aug 16, 2023
1 parent 8f4fa3a commit f7e2c31
Show file tree
Hide file tree
Showing 9 changed files with 85 additions and 163 deletions.
16 changes: 9 additions & 7 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,9 +20,9 @@ import (
"log"
"os"


"github.com/Daniel-Sogbey/go-paystack/paystack"
"github.com/Daniel-Sogbey/go-paystack/pkg/transactions/initialize"
"github.com/Daniel-Sogbey/go-paystack/pkg/transactions/verify"
Transactions "github.com/Daniel-Sogbey/go-paystack/pkg/transactions"
)

func main() {
Expand All @@ -34,13 +34,13 @@ func main() {
}

//SET UP INITIALIZE TRANSACTION REQUEST BODY
initializeTransactionRequest := &initialize.InitializeTransactionRequest{
initializeTransactionRequest := &Transactions.InitializeTransactionRequest{
Email: "mathematics06physics@gmail.com",
Amount: "2000",
}

// EXAMPLE OF AN INITIALIZE TRANSACTION REQUEST
initializeTransactionResponse, err := initialize.InitializeTransaction(client, initializeTransactionRequest)
initializeTransactionResponse, err := Transactions.Initialize(client, initializeTransactionRequest)

if err != nil {
log.Fatalf("Error making an initialize request to the package api %v", err)
Expand All @@ -50,16 +50,17 @@ func main() {
fmt.Println("JSON RESPONSE : ", initializeTransactionResponse)

// SET UP VERIFICATION TRANSACTION REQUEST
verifyTransactionRequest := &verify.VerificationRequest{
verifyTransactionRequest := &Transactions.VerificationRequest{
Reference: "",
}

// EXAMPLE OF A VERIFY TRANSACTION REQUEST
verifyTransactionResponse, _ := verify.VerifyTransaction(client, verifyTransactionRequest)
verifyTransactionResponse, _ := Transactions.Verify(client, verifyTransactionRequest)

// SAMPLE JSON RESPONSE FROM THE PAYSTACK INITIALIZE TRANSACTION API
fmt.Println("JSON RESPONSE : ", verifyTransactionResponse)


}

```
Expand Down Expand Up @@ -87,12 +88,13 @@ func TestInitializeTransactions(t *testing.T) {
ContentType: "application/json",
}


sampleInitializeTransactionRequest := &InitializeTransactionRequest{
Email: "1@2.com",
Amount: "20",
}

response, err := InitializeTransaction(client, sampleInitializeTransactionRequest)
response, err := Initialize(client, sampleInitializeTransactionRequest)

if err != nil {
t.Errorf("Expected response of status %v, but got a status of %v and an error that says %v", response.Status, response.Status, err)
Expand Down
11 changes: 5 additions & 6 deletions main.go
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,7 @@ import (
"log"

"github.com/Daniel-Sogbey/go-paystack/paystack"
"github.com/Daniel-Sogbey/go-paystack/pkg/transactions/initialize"
"github.com/Daniel-Sogbey/go-paystack/pkg/transactions/verify"
Transactions "github.com/Daniel-Sogbey/go-paystack/pkg/transactions"
)

func main() {
Expand All @@ -18,13 +17,13 @@ func main() {
}

//SET UP INITIALIZE TRANSACTION REQUEST BODY
initializeTransactionRequest := &initialize.InitializeTransactionRequest{
initializeTransactionRequest := &Transactions.InitializeTransactionRequest{
Email: "mathematics06physics@gmail.com",
Amount: "2000",
}

// EXAMPLE OF AN INITIALIZE TRANSACTION REQUEST
initializeTransactionResponse, err := initialize.InitializeTransaction(client, initializeTransactionRequest)
initializeTransactionResponse, err := Transactions.Initialize(client, initializeTransactionRequest)

if err != nil {
log.Fatalf("Error making an initialize request to the package api %v", err)
Expand All @@ -34,12 +33,12 @@ func main() {
fmt.Println("JSON RESPONSE : ", initializeTransactionResponse)

// SET UP VERIFICATION TRANSACTION REQUEST
verifyTransactionRequest := &verify.VerificationRequest{
verifyTransactionRequest := &Transactions.VerificationRequest{
Reference: "",
}

// EXAMPLE OF A VERIFY TRANSACTION REQUEST
verifyTransactionResponse, _ := verify.VerifyTransaction(client, verifyTransactionRequest)
verifyTransactionResponse, _ := Transactions.Verify(client, verifyTransactionRequest)

// SAMPLE JSON RESPONSE FROM THE PAYSTACK INITIALIZE TRANSACTION API
fmt.Println("JSON RESPONSE : ", verifyTransactionResponse)
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package initialize
package Transactions

import (
"bytes"
Expand Down Expand Up @@ -42,7 +42,7 @@ type InitializeTransactionRequest struct {
Amount string `json:"amount"`
}

func InitializeTransaction(c *paystack.Client, request *InitializeTransactionRequest) (InitializeTransactionResponse, error) {
func Initialize(c *paystack.Client, request *InitializeTransactionRequest) (InitializeTransactionResponse, error) {
c.Client = &http.Client{}

apiUrl := "https://api.paystack.co/transaction/initialize"
Expand Down
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
package initialize
package Transactions

import (
"testing"

"github.com/Daniel-Sogbey/go-paystack/paystack"
)

func TestInitializeTransactions(t *testing.T) {
func TestInitialize(t *testing.T) {

client := &paystack.Client{
Authorization: "sk_test_f572197fbc13951b13afafc0d0f6517ed7ec12eb",
Expand All @@ -18,7 +18,7 @@ func TestInitializeTransactions(t *testing.T) {
Amount: "20",
}

response, err := InitializeTransaction(client, sampleInitializeTransactionRequest)
response, err := Initialize(client, sampleInitializeTransactionRequest)

if err != nil {
t.Errorf("Expected response of status %v, but got a status of %v and an error that says %v", response.Status, response.Status, err)
Expand Down
59 changes: 59 additions & 0 deletions pkg/transactions/list.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@
package Transactions

import (
"encoding/json"
"fmt"
"io"
"log"
"net/http"

"github.com/Daniel-Sogbey/go-paystack/internal"
"github.com/Daniel-Sogbey/go-paystack/paystack"
)

type ListTransactionRequest struct {
Id string `json:"id"`
}

type ListTransactionResponse struct {
Status bool `json:"status"`
Message string `json:"message"`
Data TransactionData `json:"data"`
}

func List(c *paystack.Client, request *ListTransactionRequest) (ListTransactionResponse, error) {
c.Client = &http.Client{}
apiUrl := "https://api.paystack.co/transaction/" + request.Id

req, _ := http.NewRequest("GET", apiUrl, nil)

internal.SetHeaders(req, c.Authorization)

response, err := c.Client.Do(req)

if err != nil {
log.Fatalf("Error from List Transaction Paystack API endpoint : %v", err)
}

responseBody, err := io.ReadAll(response.Body)

fmt.Println("Response Body : ", string(responseBody))

if err != nil {
log.Fatalf("Error reading response body : %v", err)
}

var listTransactionResponse ListTransactionResponse

err = json.Unmarshal(responseBody, &listTransactionResponse)

if err != nil {
log.Fatalf("Error unmarshalling response body : %v", err)
}

return ListTransactionResponse{
Status: listTransactionResponse.Status,
Message: listTransactionResponse.Message,
Data: listTransactionResponse.Data,
}, nil
}
138 changes: 0 additions & 138 deletions pkg/transactions/list/list.go

This file was deleted.

Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package listTransactions
package Transactions

import (
"testing"
Expand All @@ -16,7 +16,7 @@ func TestListTransactions(t *testing.T) {
Id: "3030558719",
}

response, err := ListTransactions(client, listTransactionRequest)
response, err := List(client, listTransactionRequest)

if err != nil {
t.Errorf("Test failed , go an error that says : %v", err)
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package verify
package Transactions

import (
"encoding/json"
Expand Down Expand Up @@ -98,7 +98,7 @@ type VerificationResponse struct {
Data TransactionData `json:"data"`
}

func VerifyTransaction(c *paystack.Client, request *VerificationRequest) (VerificationResponse, error) {
func Verify(c *paystack.Client, request *VerificationRequest) (VerificationResponse, error) {
c.Client = &http.Client{}

apiUrl := "https://api.paystack.co/transaction/verify/" + request.Reference
Expand Down
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
package verify
package Transactions

import (
"testing"

"github.com/Daniel-Sogbey/go-paystack/paystack"
)

func TestVerifyTransaction(t *testing.T) {
func TestVerify(t *testing.T) {

client := &paystack.Client{
Authorization: "sk_test_f572197fbc13951b13afafc0d0f6517ed7ec12eb",
Expand All @@ -17,7 +17,7 @@ func TestVerifyTransaction(t *testing.T) {
Reference: "c2z7k6t1i4",
}

response, err := VerifyTransaction(client, sampleVerificationRequest)
response, err := Verify(client, sampleVerificationRequest)

if err != nil {
t.Errorf("Test failed with error %v", err)
Expand Down

0 comments on commit f7e2c31

Please sign in to comment.