From 6daa39fd6266e40bad4d5961ea4159ac2b6efd3f Mon Sep 17 00:00:00 2001 From: Conor Macpherson Date: Fri, 23 Dec 2022 11:08:41 -0500 Subject: [PATCH] Fix mysql migrations and db tests. --- ...101_create_true_up_review_history.down.sql | 2 +- ...00101_create_true_up_review_history.up.sql | 6 +- store/sqlstore/true_up_review_store_test.go | 14 ++++ store/storetest/true_up_review_store.go | 82 +++++++++++++++++++ 4 files changed, 100 insertions(+), 4 deletions(-) create mode 100644 store/sqlstore/true_up_review_store_test.go create mode 100644 store/storetest/true_up_review_store.go diff --git a/db/migrations/mysql/000101_create_true_up_review_history.down.sql b/db/migrations/mysql/000101_create_true_up_review_history.down.sql index 746a779807..e1e16a7f70 100644 --- a/db/migrations/mysql/000101_create_true_up_review_history.down.sql +++ b/db/migrations/mysql/000101_create_true_up_review_history.down.sql @@ -1 +1 @@ -DROP TABLE IF EXISTS trueupreviewhistory; +DROP TABLE IF EXISTS TrueUpReviewHistory; diff --git a/db/migrations/mysql/000101_create_true_up_review_history.up.sql b/db/migrations/mysql/000101_create_true_up_review_history.up.sql index 1ef65317ab..94f742ea44 100644 --- a/db/migrations/mysql/000101_create_true_up_review_history.up.sql +++ b/db/migrations/mysql/000101_create_true_up_review_history.up.sql @@ -1,5 +1,5 @@ -CREATE TABLE IF NOT EXISTS trueupreviewhistory ( - duedate VARCHAR(10), - completed boolean, +CREATE TABLE IF NOT EXISTS TrueUpReviewHistory ( + DueDate VARCHAR(10), + Completed boolean, PRIMARY KEY (duedate) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; diff --git a/store/sqlstore/true_up_review_store_test.go b/store/sqlstore/true_up_review_store_test.go new file mode 100644 index 0000000000..08b8ff810a --- /dev/null +++ b/store/sqlstore/true_up_review_store_test.go @@ -0,0 +1,14 @@ +// Copyright (c) 2015-present Mattermost, Inc. All Rights Reserved. +// See LICENSE.txt for license information. + +package sqlstore + +import ( + "testing" + + "github.com/mattermost/mattermost-server/v6/store/storetest" +) + +func TestTrueUpReviewStore(t *testing.T) { + StoreTestWithSqlStore(t, storetest.TestTrueUpReviewStatusStore) +} diff --git a/store/storetest/true_up_review_store.go b/store/storetest/true_up_review_store.go new file mode 100644 index 0000000000..95649fa33d --- /dev/null +++ b/store/storetest/true_up_review_store.go @@ -0,0 +1,82 @@ +// Copyright (c) 2015-present Mattermost, Inc. All Rights Reserved. +// See LICENSE.txt for license information. + +package storetest + +import ( + "testing" + "time" + + "github.com/mattermost/mattermost-server/v6/model" + "github.com/mattermost/mattermost-server/v6/store" + "github.com/mattermost/mattermost-server/v6/utils" + "github.com/stretchr/testify/assert" +) + +func TestTrueUpReviewStatusStore(t *testing.T, ss store.Store, s SqlStore) { + t.Run("CreateTrueUpReviewStatusRecord", func(t *testing.T) { testCreateTrueUpReviewStatus(t, ss) }) + t.Run("GetTrueUpReviewStatus", func(t *testing.T) { testGetTrueUpReviewStatus(t, ss) }) + t.Run("Update", func(t *testing.T) { testUpdateTrueUpReviewStatus(t, ss) }) +} + +func testCreateTrueUpReviewStatus(t *testing.T, ss store.Store) { + + now := time.Date(time.Now().Year(), time.January, 1, 0, 0, 0, 0, time.Local) + + reviewStatus := model.TrueUpReviewStatus{ + Completed: true, + DueDate: utils.GetNextTrueUpReviewDueDate(now).Format("2006-01-02"), + } + + t.Run("create true up review status", func(t *testing.T) { + resp, err := ss.TrueUpReview().CreateTrueUpReviewStatusRecord(&reviewStatus) + assert.NoError(t, err) + + assert.Equal(t, reviewStatus.Completed, resp.Completed) + assert.Equal(t, reviewStatus.DueDate, resp.DueDate) + }) +} + +func testGetTrueUpReviewStatus(t *testing.T, ss store.Store) { + + now := time.Date(time.Now().Year(), time.August, 1, 0, 0, 0, 0, time.Local) + dueDate := utils.GetNextTrueUpReviewDueDate(now) + + reviewStatus := model.TrueUpReviewStatus{ + Completed: true, + DueDate: dueDate.Format("2006-01-02"), + } + + _, err := ss.TrueUpReview().CreateTrueUpReviewStatusRecord(&reviewStatus) + assert.NoError(t, err) + + t.Run("get true up review status", func(t *testing.T) { + resp, err := ss.TrueUpReview().GetTrueUpReviewStatus(dueDate) + assert.NoError(t, err) + + assert.Equal(t, resp.Completed, resp.Completed) + assert.Equal(t, resp.DueDate, resp.DueDate) + }) +} + +func testUpdateTrueUpReviewStatus(t *testing.T, ss store.Store) { + + now := time.Date(time.Now().Year(), time.April, 1, 0, 0, 0, 0, time.Local) + + reviewStatus := model.TrueUpReviewStatus{ + Completed: false, + DueDate: utils.GetNextTrueUpReviewDueDate(now).Format("2006-01-02"), + } + + _, err := ss.TrueUpReview().CreateTrueUpReviewStatusRecord(&reviewStatus) + assert.NoError(t, err) + + t.Run("save ", func(t *testing.T) { + reviewStatus.Completed = true + resp, err := ss.TrueUpReview().Update(&reviewStatus) + assert.NoError(t, err) + + assert.Equal(t, resp.Completed, resp.Completed) + assert.Equal(t, resp.DueDate, resp.DueDate) + }) +}