Browse Source

Date and time convertation

Volodymyr Tkach 2 years ago
parent
commit
5617e7543c
2 changed files with 21 additions and 0 deletions
  1. 17 0
      donatello/v1/responses.go
  2. 4 0
      donatello/v1/v1_test.go

+ 17 - 0
donatello/v1/responses.go

@@ -2,6 +2,7 @@ package v1
 
 import (
 	"strconv"
+	"time"
 )
 
 type ResponseMeDonates struct {
@@ -22,6 +23,14 @@ type ResponseMe struct {
 	CreatedAt string            `json:"createdAt"`
 }
 
+func (r ResponseMe) CreatedAtTime() time.Time {
+	result, err := time.Parse("2006-01-02 15:04:05", r.CreatedAt)
+	if err != nil {
+		return time.Time{}
+	}
+	return result
+}
+
 // -----------------------------------------------------------------------------
 
 type ResponseDonatesContent struct {
@@ -46,6 +55,14 @@ func (r ResponseDonatesContent) AmountInt64() int64 {
 	return result
 }
 
+func (r ResponseDonatesContent) CreatedAtTime() time.Time {
+	result, err := time.Parse("2006-01-02 15:04:05", r.CreatedAt)
+	if err != nil {
+		return time.Time{}
+	}
+	return result
+}
+
 type ResponseDonates struct {
 	Success bool   `json:"success"`
 	Message string `json:"message"`

+ 4 - 0
donatello/v1/v1_test.go

@@ -3,6 +3,7 @@ package v1_test
 import (
 	"net/http"
 	"testing"
+	"time"
 
 	. "github.com/onsi/ginkgo"
 	. "github.com/onsi/gomega"
@@ -90,6 +91,7 @@ var _ = Describe("Client", func() {
 					TotalCount:  1,
 				}))
 				Expect(resp.CreatedAt).To(Equal("2022-10-20 00:30:50"))
+				Expect(resp.CreatedAtTime()).To(Equal(time.Date(2022, time.October, 20, 0, 30, 50, 0, time.UTC)))
 			})
 		})
 
@@ -122,6 +124,8 @@ var _ = Describe("Client", func() {
 					},
 				}))
 				Expect(resp.Content[0].AmountInt64()).To(Equal(int64(100)))
+				Expect(resp.Content[0].CreatedAt).To(Equal("2022-10-20 00:30:50"))
+				Expect(resp.Content[0].CreatedAtTime()).To(Equal(time.Date(2022, time.October, 20, 0, 30, 50, 0, time.UTC)))
 				Expect(resp.Page).To(Equal(int64(1)))
 				Expect(resp.Size).To(Equal(int64(20)))
 				Expect(resp.Pages).To(Equal(int64(1)))