github.com/goravel/framework@v1.13.9/schedule/event_test.go (about) 1 package schedule 2 3 import ( 4 "testing" 5 6 "github.com/stretchr/testify/suite" 7 ) 8 9 type EventTestSuite struct { 10 suite.Suite 11 event *Event 12 } 13 14 func TestEventTestSuite(t *testing.T) { 15 suite.Run(t, new(EventTestSuite)) 16 } 17 18 func (s *EventTestSuite) SetupTest() { 19 s.event = &Event{} 20 } 21 22 func (s *EventTestSuite) TestAt() { 23 s.Equal("30 10 * * *", s.event.At("10:30").GetCron()) 24 } 25 26 func (s *EventTestSuite) TestCron() { 27 s.Equal("* * * * 1", s.event.Cron("* * * * 1").GetCron()) 28 } 29 30 func (s *EventTestSuite) TestDaily() { 31 s.Equal("0 0 * * *", s.event.Daily().GetCron()) 32 } 33 34 func (s *EventTestSuite) TestDailyAt() { 35 s.Equal("30 10 * * *", s.event.DailyAt("10:30").GetCron()) 36 s.Equal("0 10 * * *", s.event.DailyAt("10").GetCron()) 37 } 38 39 func (s *EventTestSuite) TestEveryMinute() { 40 s.Equal("* * * * *", s.event.EveryMinute().GetCron()) 41 } 42 43 func (s *EventTestSuite) TestEveryTwoMinutes() { 44 s.Equal("*/2 * * * *", s.event.EveryTwoMinutes().GetCron()) 45 } 46 47 func (s *EventTestSuite) TestEveryThreeMinutes() { 48 s.Equal("*/3 * * * *", s.event.EveryThreeMinutes().GetCron()) 49 } 50 51 func (s *EventTestSuite) TestEveryFourMinutes() { 52 s.Equal("*/4 * * * *", s.event.EveryFourMinutes().GetCron()) 53 } 54 55 func (s *EventTestSuite) TestEveryFiveMinutes() { 56 s.Equal("*/5 * * * *", s.event.EveryFiveMinutes().GetCron()) 57 } 58 59 func (s *EventTestSuite) TestEveryTenMinutes() { 60 s.Equal("*/10 * * * *", s.event.EveryTenMinutes().GetCron()) 61 } 62 63 func (s *EventTestSuite) TestEveryFifteenMinutes() { 64 s.Equal("*/15 * * * *", s.event.EveryFifteenMinutes().GetCron()) 65 } 66 67 func (s *EventTestSuite) TestEveryThirtyMinutes() { 68 s.Equal("0,30 * * * *", s.event.EveryThirtyMinutes().GetCron()) 69 } 70 71 func (s *EventTestSuite) TestEveryTwoHours() { 72 s.Equal("0 */2 * * *", s.event.EveryTwoHours().GetCron()) 73 } 74 75 func (s *EventTestSuite) TestEveryThreeHours() { 76 s.Equal("0 */3 * * *", s.event.EveryThreeHours().GetCron()) 77 } 78 79 func (s *EventTestSuite) TestEveryFourHours() { 80 s.Equal("0 */4 * * *", s.event.EveryFourHours().GetCron()) 81 } 82 83 func (s *EventTestSuite) TestEverySixHours() { 84 s.Equal("0 */6 * * *", s.event.EverySixHours().GetCron()) 85 } 86 87 func (s *EventTestSuite) TestGetCron() { 88 s.Equal("* * * * *", s.event.GetCron()) 89 90 s.event.cron = "* * * * 1" 91 s.Equal("* * * * 1", s.event.GetCron()) 92 } 93 94 func (s *EventTestSuite) TestHourly() { 95 s.Equal("0 * * * *", s.event.Hourly().GetCron()) 96 } 97 98 func (s *EventTestSuite) TestHourlyAt() { 99 s.Equal("10,20 * * * *", s.event.HourlyAt([]string{"10", "20"}).GetCron()) 100 } 101 102 func (s *EventTestSuite) TestSkipIfStillRunning() { 103 s.event.SkipIfStillRunning() 104 s.True(s.event.GetSkipIfStillRunning()) 105 } 106 107 func (s *EventTestSuite) TestDelayIfStillRunning() { 108 s.event.DelayIfStillRunning() 109 s.True(s.event.GetDelayIfStillRunning()) 110 }