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  }