public void GetOverDue_returns_DataSetSchemaList_where_schema_is_online()
        {
            //arrange
            var ds1 = new List <DataSetDetail>()
            {
                new DataSetDetail()
                {
                    DateCreated = new DateTime(2011, 1, 1)
                }
            };
            var schema1 = new DataSetSchema()
            {
                Category = new Category()
                {
                    Title = "category", IsDisabled = false
                }, IsApproved = true, UploadFrequency = 0
            };

            _repositoryDataSetSchema.Add(schema1);
            var schema2 = new DataSetSchema()
            {
                Category = new Category()
                {
                    Title = "category", IsDisabled = false
                }, IsApproved = false, UploadFrequency = 1, DataSets = ds1
            };

            _repositoryDataSetSchema.Add(schema2);
            var schema3 = new DataSetSchema()
            {
                Category = new Category()
                {
                    Title = "category", IsDisabled = false
                }, IsApproved = true, UploadFrequency = 2, DataSets = ds1
            };

            _repositoryDataSetSchema.Add(schema3);
            var sut = new DataSetSchemaService(_repositoryDataSetSchema, _dataSetSchemaDefinitionService,
                                               _repositoryDataSetDetail, _sqlTableUtility);

            //act
            var result = sut.GetOverDue();

            //assert
            Assert.AreEqual(2, result[0].UploadFrequency);
            //cleanup
            _repositoryDataSetSchema.Delete(schema1);
            _repositoryDataSetSchema.Delete(schema2);
            _repositoryDataSetSchema.Delete(schema3);
        }
        public void GetOverDue_returns_DataSetSchemaList_where_lastuploadeddate_lessthan_overdue_date_and_date_last_reminded_is_lessthan_overdue_date()
        {
            //arrange
            var ds1 = new List <DataSetDetail>()
            {
                new DataSetDetail()
                {
                    DateCreated = DateTime.Now.AddDays(-4)
                }
            };                                                                                                      // overdue date is alway -3 ( so this is not overdue)
            var schema1 = new DataSetSchema()
            {
                Category = new Category()
                {
                    Title = "category", IsDisabled = false
                }, IsApproved = true, UploadFrequency = 1, DataSets = ds1
            };

            _repositoryDataSetSchema.Add(schema1);
            var ds2 = new List <DataSetDetail>()
            {
                new DataSetDetail()
                {
                    DateCreated = new DateTime(1998, 1, 1)
                }
            };
            var schema2 = new DataSetSchema()
            {
                Category = new Category()
                {
                    Title = "category", IsDisabled = false
                }, DateLastReminded = new DateTime(1998, 1, 1), IsApproved = true, UploadFrequency = 2, DataSets = ds2
            };

            _repositoryDataSetSchema.Add(schema2);

            var sut = new DataSetSchemaService(_repositoryDataSetSchema, _dataSetSchemaDefinitionService,
                                               _repositoryDataSetDetail, _sqlTableUtility);
            //act
            var result = sut.GetOverDue();

            //assert
            Assert.AreEqual(2, result[0].UploadFrequency);
            //cleanup
            _repositoryDataSetSchema.Delete(schema1);
            _repositoryDataSetSchema.Delete(schema2);
        }