public void ResetTurnedOff()
        {
            SetupSettings(0, 0, 0);
            Resetter = new UserRequestLimitResetter(JobMock.Object, RepoMock.Object, SettingsMock.Object);

            Resetter.Execute(ContextMock.Object);

            RepoMock.Verify(x => x.Delete(It.IsAny <RequestLimit>()), Times.Never);
        }
        public void Reset(int movie, int tv, int album, RequestType type)
        {
            SetupSettings(movie, tv, album);
            RepoMock.Setup(x => x.GetAll())
            .Returns(F.Build <RequestLimit>().With(x => x.FirstRequestDate, DateTime.Now.AddDays(-8)).With(x => x.RequestType, type).CreateMany());

            Resetter = new UserRequestLimitResetter(JobMock.Object, RepoMock.Object, SettingsMock.Object);

            Resetter.Execute(ContextMock.Object);

            RepoMock.Verify(x => x.Delete(It.IsAny <RequestLimit>()), Times.Exactly(3));
        }
        public void Setup()
        {
            F            = new Fixture();
            JobMock      = new Mock <IJobRecord>();
            RepoMock     = new Mock <IRepository <RequestLimit> >();
            SettingsMock = new Mock <ISettingsService <PlexRequestSettings> >();
            ContextMock  = new Mock <IJobExecutionContext>();

            SettingsMock.Setup(x => x.GetSettings()).Returns(new PlexRequestSettings());

            Resetter = new UserRequestLimitResetter(JobMock.Object, RepoMock.Object, SettingsMock.Object);
        }
        public void DoNotReset(int days, RequestType type)
        {
            SetupSettings(1, 1, 1);
            RepoMock.Setup(x => x.GetAll())
            .Returns(F.Build <RequestLimit>().With(x => x.FirstRequestDate, DateTime.Now.AddDays(days)).With(x => x.RequestType, type).CreateMany());

            Resetter = new UserRequestLimitResetter(JobMock.Object, RepoMock.Object, SettingsMock.Object);

            Resetter.Execute(ContextMock.Object);

            RepoMock.Verify(x => x.Delete(It.IsAny <RequestLimit>()), Times.Never);
        }