コード例 #1
0
        public async Task FieldValues_Delete_DoesSetWorkflowStateToRemoved()
        {
            short shortMinValue = Int16.MinValue;
            short shortmaxValue = Int16.MaxValue;

            Random rnd = new Random();

            bool randomBool = rnd.Next(0, 2) > 0;

            sites site = new sites
            {
                Name         = Guid.NewGuid().ToString(),
                MicrotingUid = rnd.Next(1, 255)
            };
            await site.Create(dbContext).ConfigureAwait(false);

            units unit = new units
            {
                CustomerNo   = rnd.Next(1, 255),
                MicrotingUid = rnd.Next(1, 255),
                OtpCode      = rnd.Next(1, 255),
                SiteId       = site.Id
            };
            await unit.Create(dbContext).ConfigureAwait(false);

            check_lists checklist = new check_lists
            {
                Color               = Guid.NewGuid().ToString(),
                Custom              = Guid.NewGuid().ToString(),
                Description         = Guid.NewGuid().ToString(),
                Field1              = rnd.Next(1, 255),
                Field2              = rnd.Next(1, 255),
                Field4              = rnd.Next(1, 255),
                Field5              = rnd.Next(1, 255),
                Field6              = rnd.Next(1, 255),
                Field7              = rnd.Next(1, 255),
                Field8              = rnd.Next(1, 255),
                Field9              = rnd.Next(1, 255),
                Field10             = rnd.Next(1, 255),
                Label               = Guid.NewGuid().ToString(),
                Repeated            = rnd.Next(1, 255),
                ApprovalEnabled     = (short)rnd.Next(shortMinValue, shortmaxValue),
                CaseType            = Guid.NewGuid().ToString(),
                DisplayIndex        = rnd.Next(1, 255),
                DownloadEntities    = (short)rnd.Next(shortMinValue, shortmaxValue),
                FastNavigation      = (short)rnd.Next(shortMinValue, shortmaxValue),
                FolderName          = Guid.NewGuid().ToString(),
                ManualSync          = (short)rnd.Next(shortMinValue, shortmaxValue),
                MultiApproval       = (short)rnd.Next(shortMinValue, shortmaxValue),
                OriginalId          = Guid.NewGuid().ToString(),
                ReviewEnabled       = (short)rnd.Next(shortMinValue, shortmaxValue),
                DocxExportEnabled   = randomBool,
                DoneButtonEnabled   = (short)rnd.Next(shortMinValue, shortmaxValue),
                ExtraFieldsEnabled  = (short)rnd.Next(shortMinValue, shortmaxValue),
                JasperExportEnabled = randomBool,
                QuickSyncEnabled    = (short)rnd.Next(shortMinValue, shortmaxValue)
            };
            await checklist.Create(dbContext).ConfigureAwait(false);

            entity_groups entityGroup = new entity_groups
            {
                Name         = Guid.NewGuid().ToString(),
                Type         = Guid.NewGuid().ToString(),
                MicrotingUid = Guid.NewGuid().ToString()
            };
            await entityGroup.Create(dbContext).ConfigureAwait(false);

            field_types fieldType = new field_types
            {
                Description = Guid.NewGuid().ToString(),
                FieldType   = Guid.NewGuid().ToString()
            };
            await fieldType.Create(dbContext).ConfigureAwait(false);

            fields field = new fields
            {
                Color              = Guid.NewGuid().ToString(),
                Custom             = Guid.NewGuid().ToString(),
                Description        = Guid.NewGuid().ToString(),
                Dummy              = (short)rnd.Next(shortMinValue, shortmaxValue),
                Label              = Guid.NewGuid().ToString(),
                Mandatory          = (short)rnd.Next(shortMinValue, shortmaxValue),
                Multi              = rnd.Next(1, 255),
                Optional           = (short)rnd.Next(shortMinValue, shortmaxValue),
                Selected           = (short)rnd.Next(shortMinValue, shortmaxValue),
                BarcodeEnabled     = (short)rnd.Next(shortMinValue, shortmaxValue),
                BarcodeType        = Guid.NewGuid().ToString(),
                DecimalCount       = rnd.Next(1, 255),
                DefaultValue       = Guid.NewGuid().ToString(),
                DisplayIndex       = rnd.Next(1, 255),
                GeolocationEnabled = (short)rnd.Next(shortMinValue, shortmaxValue),
                GeolocationForced  = (short)rnd.Next(shortMinValue, shortmaxValue),
                GeolocationHidden  = (short)rnd.Next(shortMinValue, shortmaxValue),
                IsNum              = (short)rnd.Next(shortMinValue, shortmaxValue),
                MaxLength          = rnd.Next(1, 255),
                MaxValue           = Guid.NewGuid().ToString(),
                MinValue           = Guid.NewGuid().ToString(),
                OriginalId         = Guid.NewGuid().ToString(),
                QueryType          = Guid.NewGuid().ToString(),
                ReadOnly           = (short)rnd.Next(shortMinValue, shortmaxValue),
                SplitScreen        = (short)rnd.Next(shortMinValue, shortmaxValue),
                UnitName           = Guid.NewGuid().ToString(),
                StopOnSave         = (short)rnd.Next(shortMinValue, shortmaxValue),
                KeyValuePairList   = Guid.NewGuid().ToString(),
                CheckListId        = checklist.Id,
                EntityGroupId      = entityGroup.Id,
                FieldTypeId        = fieldType.Id
            };
            await field.Create(dbContext).ConfigureAwait(false);

            workers worker = new workers
            {
                Email        = Guid.NewGuid().ToString(),
                FirstName    = Guid.NewGuid().ToString(),
                LastName     = Guid.NewGuid().ToString(),
                MicrotingUid = rnd.Next(1, 255)
            };
            await worker.Create(dbContext).ConfigureAwait(false);

            cases theCase = new cases
            {
                Custom            = Guid.NewGuid().ToString(),
                Status            = rnd.Next(1, 255),
                Type              = Guid.NewGuid().ToString(),
                CaseUid           = Guid.NewGuid().ToString(),
                DoneAt            = DateTime.Now,
                FieldValue1       = Guid.NewGuid().ToString(),
                FieldValue2       = Guid.NewGuid().ToString(),
                FieldValue3       = Guid.NewGuid().ToString(),
                FieldValue4       = Guid.NewGuid().ToString(),
                FieldValue5       = Guid.NewGuid().ToString(),
                FieldValue6       = Guid.NewGuid().ToString(),
                FieldValue7       = Guid.NewGuid().ToString(),
                FieldValue8       = Guid.NewGuid().ToString(),
                FieldValue9       = Guid.NewGuid().ToString(),
                FieldValue10      = Guid.NewGuid().ToString(),
                MicrotingUid      = rnd.Next(shortMinValue, shortmaxValue),
                SiteId            = site.Id,
                UnitId            = unit.Id,
                WorkerId          = worker.Id,
                CheckListId       = checklist.Id,
                MicrotingCheckUid = rnd.Next(shortMinValue, shortmaxValue)
            };
            await theCase.Create(dbContext).ConfigureAwait(false);

            uploaded_data uploadedData = new uploaded_data
            {
                Checksum        = Guid.NewGuid().ToString(),
                Extension       = Guid.NewGuid().ToString(),
                Local           = (short)rnd.Next(shortMinValue, shortmaxValue),
                CurrentFile     = Guid.NewGuid().ToString(),
                ExpirationDate  = DateTime.Now,
                FileLocation    = Guid.NewGuid().ToString(),
                FileName        = Guid.NewGuid().ToString(),
                TranscriptionId = rnd.Next(1, 255),
                UploaderId      = rnd.Next(1, 255),
                UploaderType    = Guid.NewGuid().ToString()
            };
            await uploadedData.Create(dbContext).ConfigureAwait(false);

            field_values fieldValue = new field_values
            {
                Accuracy       = Guid.NewGuid().ToString(),
                Altitude       = Guid.NewGuid().ToString(),
                Date           = DateTime.Now,
                Heading        = Guid.NewGuid().ToString(),
                Latitude       = Guid.NewGuid().ToString(),
                Longitude      = Guid.NewGuid().ToString(),
                Value          = Guid.NewGuid().ToString(),
                CaseId         = theCase.Id,
                DoneAt         = DateTime.Now,
                FieldId        = field.Id,
                WorkerId       = worker.Id,
                CheckListId    = checklist.Id,
                UploadedDataId = uploadedData.Id
            };
            await fieldValue.Create(dbContext).ConfigureAwait(false);

            //Act

            DateTime?oldUpdatedAt = fieldValue.UpdatedAt;


            await fieldValue.Delete(dbContext);

            List <field_values>         fieldValues        = dbContext.field_values.AsNoTracking().ToList();
            List <field_value_versions> fieldValueVersions = dbContext.field_value_versions.AsNoTracking().ToList();

            Assert.NotNull(fieldValues);
            Assert.NotNull(fieldValueVersions);

            Assert.AreEqual(1, fieldValues.Count());
            Assert.AreEqual(2, fieldValueVersions.Count());

            Assert.AreEqual(fieldValue.CreatedAt.ToString(), fieldValues[0].CreatedAt.ToString());
            Assert.AreEqual(fieldValue.Version, fieldValues[0].Version);
//            Assert.AreEqual(fieldValue.UpdatedAt.ToString(), fieldValues[0].UpdatedAt.ToString());
            Assert.AreEqual(fieldValues[0].WorkflowState, Constants.WorkflowStates.Removed);
            Assert.AreEqual(fieldValue.Id, fieldValues[0].Id);
            Assert.AreEqual(fieldValue.Accuracy, fieldValues[0].Accuracy);
            Assert.AreEqual(fieldValue.Date.ToString(), fieldValues[0].Date.ToString());
            Assert.AreEqual(fieldValue.Heading, fieldValues[0].Heading);
            Assert.AreEqual(fieldValue.Latitude, fieldValues[0].Latitude);
            Assert.AreEqual(fieldValue.Longitude, fieldValues[0].Longitude);
            Assert.AreEqual(fieldValue.Value, fieldValues[0].Value);
            Assert.AreEqual(fieldValue.CaseId, theCase.Id);
            Assert.AreEqual(fieldValue.DoneAt.ToString(), fieldValues[0].DoneAt.ToString());
            Assert.AreEqual(fieldValue.FieldId, field.Id);
            Assert.AreEqual(fieldValue.WorkerId, worker.Id);
            Assert.AreEqual(fieldValue.CheckListId, checklist.Id);
            Assert.AreEqual(fieldValue.UploadedDataId, uploadedData.Id);

            //Old Version
            Assert.AreEqual(fieldValue.CreatedAt.ToString(), fieldValueVersions[0].CreatedAt.ToString());
            Assert.AreEqual(1, fieldValueVersions[0].Version);
//            Assert.AreEqual(oldUpdatedAt.ToString(), fieldValueVersions[0].UpdatedAt.ToString());
            Assert.AreEqual(fieldValueVersions[0].WorkflowState, Constants.WorkflowStates.Created);
            Assert.AreEqual(fieldValue.Id, fieldValueVersions[0].FieldId);
            Assert.AreEqual(fieldValue.Accuracy, fieldValueVersions[0].Accuracy);
            Assert.AreEqual(fieldValue.Date.ToString(), fieldValueVersions[0].Date.ToString());
            Assert.AreEqual(fieldValue.Heading, fieldValueVersions[0].Heading);
            Assert.AreEqual(fieldValue.Latitude, fieldValueVersions[0].Latitude);
            Assert.AreEqual(fieldValue.Longitude, fieldValueVersions[0].Longitude);
            Assert.AreEqual(fieldValue.Value, fieldValueVersions[0].Value);
            Assert.AreEqual(theCase.Id, fieldValueVersions[0].CaseId);
            Assert.AreEqual(fieldValue.DoneAt.ToString(), fieldValueVersions[0].DoneAt.ToString());
            Assert.AreEqual(field.Id, fieldValueVersions[0].FieldId);
            Assert.AreEqual(worker.Id, fieldValueVersions[0].WorkerId);
            Assert.AreEqual(checklist.Id, fieldValueVersions[0].CheckListId);
            Assert.AreEqual(uploadedData.Id, fieldValueVersions[0].UploadedDataId);

            //New Version
            Assert.AreEqual(fieldValue.CreatedAt.ToString(), fieldValueVersions[1].CreatedAt.ToString());
            Assert.AreEqual(2, fieldValueVersions[1].Version);
//            Assert.AreEqual(fieldValue.UpdatedAt.ToString(), fieldValueVersions[1].UpdatedAt.ToString());
            Assert.AreEqual(fieldValueVersions[1].WorkflowState, Constants.WorkflowStates.Removed);
            Assert.AreEqual(fieldValue.Id, fieldValueVersions[1].FieldId);
            Assert.AreEqual(fieldValue.Accuracy, fieldValueVersions[1].Accuracy);
            Assert.AreEqual(fieldValue.Date.ToString(), fieldValueVersions[1].Date.ToString());
            Assert.AreEqual(fieldValue.Heading, fieldValueVersions[1].Heading);
            Assert.AreEqual(fieldValue.Latitude, fieldValueVersions[1].Latitude);
            Assert.AreEqual(fieldValue.Longitude, fieldValueVersions[1].Longitude);
            Assert.AreEqual(fieldValue.Value, fieldValueVersions[1].Value);
            Assert.AreEqual(theCase.Id, fieldValueVersions[1].CaseId);
            Assert.AreEqual(fieldValue.DoneAt.ToString(), fieldValueVersions[1].DoneAt.ToString());
            Assert.AreEqual(field.Id, fieldValueVersions[1].FieldId);
            Assert.AreEqual(worker.Id, fieldValueVersions[1].WorkerId);
            Assert.AreEqual(checklist.Id, fieldValueVersions[1].CheckListId);
            Assert.AreEqual(uploadedData.Id, fieldValueVersions[1].UploadedDataId);
        }
コード例 #2
0
        public async Task CheckListSites_Create_DoesCreate()
        {
            //Arrange

            Random rnd = new Random();

            short shortMinValue = Int16.MinValue;
            short shortmaxValue = Int16.MaxValue;

            bool randomBool = rnd.Next(0, 2) > 0;

            sites site = new sites
            {
                Name         = Guid.NewGuid().ToString(),
                MicrotingUid = rnd.Next(1, 255)
            };
            await site.Create(dbContext).ConfigureAwait(false);

            check_lists checklist = new check_lists
            {
                Color               = Guid.NewGuid().ToString(),
                Custom              = Guid.NewGuid().ToString(),
                Description         = Guid.NewGuid().ToString(),
                Field1              = rnd.Next(1, 255),
                Field2              = rnd.Next(1, 255),
                Field4              = rnd.Next(1, 255),
                Field5              = rnd.Next(1, 255),
                Field6              = rnd.Next(1, 255),
                Field7              = rnd.Next(1, 255),
                Field8              = rnd.Next(1, 255),
                Field9              = rnd.Next(1, 255),
                Field10             = rnd.Next(1, 255),
                Label               = Guid.NewGuid().ToString(),
                Repeated            = rnd.Next(1, 255),
                ApprovalEnabled     = (short)rnd.Next(shortMinValue, shortmaxValue),
                CaseType            = Guid.NewGuid().ToString(),
                DisplayIndex        = rnd.Next(1, 255),
                DownloadEntities    = (short)rnd.Next(shortMinValue, shortmaxValue),
                FastNavigation      = (short)rnd.Next(shortMinValue, shortmaxValue),
                FolderName          = Guid.NewGuid().ToString(),
                ManualSync          = (short)rnd.Next(shortMinValue, shortmaxValue),
                MultiApproval       = (short)rnd.Next(shortMinValue, shortmaxValue),
                OriginalId          = Guid.NewGuid().ToString(),
                ReviewEnabled       = (short)rnd.Next(shortMinValue, shortmaxValue),
                DocxExportEnabled   = randomBool,
                DoneButtonEnabled   = (short)rnd.Next(shortMinValue, shortmaxValue),
                ExtraFieldsEnabled  = (short)rnd.Next(shortMinValue, shortmaxValue),
                JasperExportEnabled = randomBool,
                QuickSyncEnabled    = (short)rnd.Next(shortMinValue, shortmaxValue)
            };
            await checklist.Create(dbContext).ConfigureAwait(false);

            check_list_sites checkListSite = new check_list_sites
            {
                MicrotingUid = rnd.Next(1, 255),
                SiteId       = site.Id,
                CheckListId  = checklist.Id,
                LastCheckId  = rnd.Next(1, 255)
            };

            //Act

            await checkListSite.Create(dbContext).ConfigureAwait(false);

            List <check_list_sites>         checkListSites        = dbContext.check_list_sites.AsNoTracking().ToList();
            List <check_list_site_versions> checkListSitesVersion = dbContext.check_list_site_versions.AsNoTracking().ToList();

            //Assert

            Assert.NotNull(checkListSites);
            Assert.NotNull(checkListSitesVersion);

            Assert.AreEqual(1, checkListSites.Count());
            Assert.AreEqual(1, checkListSitesVersion.Count());

            Assert.AreEqual(checkListSite.CreatedAt.ToString(), checkListSites[0].CreatedAt.ToString());
            Assert.AreEqual(checkListSite.Version, checkListSites[0].Version);
//            Assert.AreEqual(checkListSite.UpdatedAt.ToString(), checkListSites[0].UpdatedAt.ToString());
            Assert.AreEqual(Constants.WorkflowStates.Created, checkListSites[0].WorkflowState);
            Assert.AreEqual(checkListSite.Id, checkListSites[0].Id);
            Assert.AreEqual(checkListSite.MicrotingUid, checkListSites[0].MicrotingUid);
            Assert.AreEqual(checkListSite.SiteId, site.Id);
            Assert.AreEqual(checkListSite.CheckListId, checklist.Id);
            Assert.AreEqual(checkListSite.LastCheckId, checkListSites[0].LastCheckId);

            //Versions
            Assert.AreEqual(checkListSite.CreatedAt.ToString(), checkListSitesVersion[0].CreatedAt.ToString());
            Assert.AreEqual(checkListSite.Version, checkListSitesVersion[0].Version);
//            Assert.AreEqual(checkListSite.UpdatedAt.ToString(), checkListSitesVersion[0].UpdatedAt.ToString());
            Assert.AreEqual(checkListSite.WorkflowState, Constants.WorkflowStates.Created);
            Assert.AreEqual(checkListSite.Id, checkListSitesVersion[0].Id);
            Assert.AreEqual(checkListSite.MicrotingUid, checkListSitesVersion[0].MicrotingUid);
            Assert.AreEqual(site.Id, checkListSitesVersion[0].SiteId);
            Assert.AreEqual(checklist.Id, checkListSitesVersion[0].CheckListId);
            Assert.AreEqual(checkListSite.LastCheckId, checkListSitesVersion[0].LastCheckId);
        }
コード例 #3
0
        public async Task Cases_Delete_DoesSetWorkflowStateToRemoved()
        {
            //Arrange

            Random rnd = new Random();

            short shortMinValue = Int16.MinValue;
            short shortmaxValue = Int16.MaxValue;

            bool randomBool = rnd.Next(0, 2) > 0;

            sites site = new sites
            {
                Name         = Guid.NewGuid().ToString(),
                MicrotingUid = rnd.Next(1, 255)
            };
            await site.Create(dbContext).ConfigureAwait(false);

            units unit = new units
            {
                CustomerNo   = rnd.Next(1, 255),
                MicrotingUid = rnd.Next(1, 255),
                OtpCode      = rnd.Next(1, 255),
                SiteId       = site.Id
            };
            await unit.Create(dbContext).ConfigureAwait(false);

            workers worker = new workers
            {
                Email        = Guid.NewGuid().ToString(),
                FirstName    = Guid.NewGuid().ToString(),
                LastName     = Guid.NewGuid().ToString(),
                MicrotingUid = rnd.Next(1, 255)
            };
            await worker.Create(dbContext).ConfigureAwait(false);

            check_lists checklist = new check_lists
            {
                Color               = Guid.NewGuid().ToString(),
                Custom              = Guid.NewGuid().ToString(),
                Description         = Guid.NewGuid().ToString(),
                Field1              = rnd.Next(1, 255),
                Field2              = rnd.Next(1, 255),
                Field4              = rnd.Next(1, 255),
                Field5              = rnd.Next(1, 255),
                Field6              = rnd.Next(1, 255),
                Field7              = rnd.Next(1, 255),
                Field8              = rnd.Next(1, 255),
                Field9              = rnd.Next(1, 255),
                Field10             = rnd.Next(1, 255),
                Label               = Guid.NewGuid().ToString(),
                Repeated            = rnd.Next(1, 255),
                ApprovalEnabled     = (short)rnd.Next(shortMinValue, shortmaxValue),
                CaseType            = Guid.NewGuid().ToString(),
                DisplayIndex        = rnd.Next(1, 255),
                DownloadEntities    = (short)rnd.Next(shortMinValue, shortmaxValue),
                FastNavigation      = (short)rnd.Next(shortMinValue, shortmaxValue),
                FolderName          = Guid.NewGuid().ToString(),
                ManualSync          = (short)rnd.Next(shortMinValue, shortmaxValue),
                MultiApproval       = (short)rnd.Next(shortMinValue, shortmaxValue),
                OriginalId          = Guid.NewGuid().ToString(),
                ReviewEnabled       = (short)rnd.Next(shortMinValue, shortmaxValue),
                DocxExportEnabled   = randomBool,
                DoneButtonEnabled   = (short)rnd.Next(shortMinValue, shortmaxValue),
                ExtraFieldsEnabled  = (short)rnd.Next(shortMinValue, shortmaxValue),
                JasperExportEnabled = randomBool,
                QuickSyncEnabled    = (short)rnd.Next(shortMinValue, shortmaxValue)
            };
            await checklist.Create(dbContext).ConfigureAwait(false);

            cases theCase = new cases
            {
                Custom            = Guid.NewGuid().ToString(),
                Status            = rnd.Next(1, 255),
                Type              = Guid.NewGuid().ToString(),
                CaseUid           = Guid.NewGuid().ToString(),
                DoneAt            = DateTime.Now,
                FieldValue1       = Guid.NewGuid().ToString(),
                FieldValue2       = Guid.NewGuid().ToString(),
                FieldValue3       = Guid.NewGuid().ToString(),
                FieldValue4       = Guid.NewGuid().ToString(),
                FieldValue5       = Guid.NewGuid().ToString(),
                FieldValue6       = Guid.NewGuid().ToString(),
                FieldValue7       = Guid.NewGuid().ToString(),
                FieldValue8       = Guid.NewGuid().ToString(),
                FieldValue9       = Guid.NewGuid().ToString(),
                FieldValue10      = Guid.NewGuid().ToString(),
                MicrotingUid      = rnd.Next(shortMinValue, shortmaxValue),
                SiteId            = site.Id,
                UnitId            = unit.Id,
                WorkerId          = worker.Id,
                CheckListId       = checklist.Id,
                MicrotingCheckUid = rnd.Next(shortMinValue, shortmaxValue)
            };

            await theCase.Create(dbContext).ConfigureAwait(false);


            //Act

            DateTime?oldUpdatedAt = theCase.UpdatedAt;

            await theCase.Delete(dbContext);

            List <cases>         cases        = dbContext.cases.AsNoTracking().ToList();
            List <case_versions> caseVersions = dbContext.case_versions.AsNoTracking().ToList();

            //Assert

            Assert.NotNull(cases);
            Assert.NotNull(caseVersions);

            Assert.AreEqual(1, cases.Count());
            Assert.AreEqual(2, caseVersions.Count());

            Assert.AreEqual(theCase.CreatedAt.ToString(), cases[0].CreatedAt.ToString());
            Assert.AreEqual(theCase.Version, cases[0].Version);
//            Assert.AreEqual(theCase.UpdatedAt.ToString(), cases[0].UpdatedAt.ToString());
            Assert.AreEqual(cases[0].WorkflowState, Constants.WorkflowStates.Removed);
            Assert.AreEqual(theCase.Id, cases[0].Id);
            Assert.AreEqual(theCase.Custom, cases[0].Custom);
            Assert.AreEqual(theCase.SiteId, site.Id);
            Assert.AreEqual(theCase.Status, cases[0].Status);
            Assert.AreEqual(theCase.Type, cases[0].Type);
            Assert.AreEqual(theCase.UnitId, unit.Id);
            Assert.AreEqual(theCase.WorkerId, worker.Id);
            Assert.AreEqual(theCase.CaseUid, cases[0].CaseUid);
            Assert.AreEqual(theCase.CheckListId, checklist.Id);
            Assert.AreEqual(theCase.DoneAt.ToString(), cases[0].DoneAt.ToString());
            Assert.AreEqual(theCase.FieldValue1, cases[0].FieldValue1);
            Assert.AreEqual(theCase.FieldValue2, cases[0].FieldValue2);
            Assert.AreEqual(theCase.FieldValue3, cases[0].FieldValue3);
            Assert.AreEqual(theCase.FieldValue4, cases[0].FieldValue4);
            Assert.AreEqual(theCase.FieldValue5, cases[0].FieldValue5);
            Assert.AreEqual(theCase.FieldValue6, cases[0].FieldValue6);
            Assert.AreEqual(theCase.FieldValue7, cases[0].FieldValue7);
            Assert.AreEqual(theCase.FieldValue8, cases[0].FieldValue8);
            Assert.AreEqual(theCase.FieldValue9, cases[0].FieldValue9);
            Assert.AreEqual(theCase.FieldValue10, cases[0].FieldValue10);
            Assert.AreEqual(theCase.MicrotingUid, cases[0].MicrotingUid);
            Assert.AreEqual(theCase.MicrotingCheckUid, cases[0].MicrotingCheckUid);

            //Old Version
            Assert.AreEqual(theCase.CreatedAt.ToString(), caseVersions[0].CreatedAt.ToString());
            Assert.AreEqual(1, caseVersions[0].Version);
//            Assert.AreEqual(oldUpdatedAt.ToString(), caseVersions[0].UpdatedAt.ToString());
            Assert.AreEqual(caseVersions[0].WorkflowState, Constants.WorkflowStates.Created);
            Assert.AreEqual(theCase.Id, caseVersions[0].CaseId);
            Assert.AreEqual(theCase.Custom, caseVersions[0].Custom);
            Assert.AreEqual(site.Id, caseVersions[0].SiteId);
            Assert.AreEqual(theCase.Status, caseVersions[0].Status);
            Assert.AreEqual(theCase.Type, caseVersions[0].Type);
            Assert.AreEqual(unit.Id, caseVersions[0].UnitId);
            Assert.AreEqual(worker.Id, caseVersions[0].WorkerId);
            Assert.AreEqual(theCase.CaseUid, caseVersions[0].CaseUid);
            Assert.AreEqual(checklist.Id, caseVersions[0].CheckListId);
            Assert.AreEqual(theCase.DoneAt.ToString(), caseVersions[0].DoneAt.ToString());
            Assert.AreEqual(theCase.FieldValue1, caseVersions[0].FieldValue1);
            Assert.AreEqual(theCase.FieldValue2, caseVersions[0].FieldValue2);
            Assert.AreEqual(theCase.FieldValue3, caseVersions[0].FieldValue3);
            Assert.AreEqual(theCase.FieldValue4, caseVersions[0].FieldValue4);
            Assert.AreEqual(theCase.FieldValue5, caseVersions[0].FieldValue5);
            Assert.AreEqual(theCase.FieldValue6, caseVersions[0].FieldValue6);
            Assert.AreEqual(theCase.FieldValue7, caseVersions[0].FieldValue7);
            Assert.AreEqual(theCase.FieldValue8, caseVersions[0].FieldValue8);
            Assert.AreEqual(theCase.FieldValue9, caseVersions[0].FieldValue9);
            Assert.AreEqual(theCase.FieldValue10, caseVersions[0].FieldValue10);
            Assert.AreEqual(theCase.MicrotingUid, caseVersions[0].MicrotingUid);
            Assert.AreEqual(theCase.MicrotingCheckUid, caseVersions[0].MicrotingCheckUid);

            //New Version
            Assert.AreEqual(theCase.CreatedAt.ToString(), caseVersions[1].CreatedAt.ToString());
            Assert.AreEqual(2, cases[0].Version);
//            Assert.AreEqual(theCase.UpdatedAt.ToString(), caseVersions[1].UpdatedAt.ToString());
            Assert.AreEqual(caseVersions[1].WorkflowState, Constants.WorkflowStates.Removed);
            Assert.AreEqual(theCase.Id, caseVersions[1].CaseId);
            Assert.AreEqual(theCase.Custom, caseVersions[1].Custom);
            Assert.AreEqual(site.Id, caseVersions[1].SiteId);
            Assert.AreEqual(theCase.Status, caseVersions[1].Status);
            Assert.AreEqual(theCase.Type, caseVersions[1].Type);
            Assert.AreEqual(unit.Id, caseVersions[1].UnitId);
            Assert.AreEqual(worker.Id, caseVersions[1].WorkerId);
            Assert.AreEqual(theCase.CaseUid, caseVersions[1].CaseUid);
            Assert.AreEqual(checklist.Id, caseVersions[1].CheckListId);
            Assert.AreEqual(theCase.DoneAt.ToString(), caseVersions[1].DoneAt.ToString());
            Assert.AreEqual(theCase.FieldValue1, caseVersions[1].FieldValue1);
            Assert.AreEqual(theCase.FieldValue2, caseVersions[1].FieldValue2);
            Assert.AreEqual(theCase.FieldValue3, caseVersions[1].FieldValue3);
            Assert.AreEqual(theCase.FieldValue4, caseVersions[1].FieldValue4);
            Assert.AreEqual(theCase.FieldValue5, caseVersions[1].FieldValue5);
            Assert.AreEqual(theCase.FieldValue6, caseVersions[1].FieldValue6);
            Assert.AreEqual(theCase.FieldValue7, caseVersions[1].FieldValue7);
            Assert.AreEqual(theCase.FieldValue8, caseVersions[1].FieldValue8);
            Assert.AreEqual(theCase.FieldValue9, caseVersions[1].FieldValue9);
            Assert.AreEqual(theCase.FieldValue10, caseVersions[1].FieldValue10);
            Assert.AreEqual(theCase.MicrotingUid, caseVersions[1].MicrotingUid);
            Assert.AreEqual(theCase.MicrotingCheckUid, caseVersions[1].MicrotingCheckUid);
        }
コード例 #4
0
        public async Task Taggins_Create_DoesCreate()
        {
            Random rnd = new Random();

            short shortMinValue = Int16.MinValue;
            short shortmaxValue = Int16.MaxValue;

            bool randomBool = rnd.Next(0, 2) > 0;

            tags tag = new tags
            {
                Name          = Guid.NewGuid().ToString(),
                TaggingsCount = rnd.Next(1, 255)
            };
            await tag.Create(dbContext).ConfigureAwait(false);

            check_lists checklist = new check_lists
            {
                Color               = Guid.NewGuid().ToString(),
                Custom              = Guid.NewGuid().ToString(),
                Description         = Guid.NewGuid().ToString(),
                Field1              = rnd.Next(1, 255),
                Field2              = rnd.Next(1, 255),
                Field3              = rnd.Next(1, 255),
                Field4              = rnd.Next(1, 255),
                Field5              = rnd.Next(1, 255),
                Field6              = rnd.Next(1, 255),
                Field7              = rnd.Next(1, 255),
                Field8              = rnd.Next(1, 255),
                Field9              = rnd.Next(1, 255),
                Field10             = rnd.Next(1, 255),
                Label               = Guid.NewGuid().ToString(),
                Repeated            = rnd.Next(1, 255),
                ApprovalEnabled     = (short)rnd.Next(shortMinValue, shortmaxValue),
                CaseType            = Guid.NewGuid().ToString(),
                DisplayIndex        = rnd.Next(1, 255),
                DownloadEntities    = (short)rnd.Next(shortMinValue, shortmaxValue),
                FastNavigation      = (short)rnd.Next(shortMinValue, shortmaxValue),
                FolderName          = Guid.NewGuid().ToString(),
                ManualSync          = (short)rnd.Next(shortMinValue, shortmaxValue),
                MultiApproval       = (short)rnd.Next(shortMinValue, shortmaxValue),
                OriginalId          = Guid.NewGuid().ToString(),
                ParentId            = rnd.Next(1, 255),
                ReviewEnabled       = (short)rnd.Next(shortMinValue, shortmaxValue),
                DocxExportEnabled   = randomBool,
                DoneButtonEnabled   = (short)rnd.Next(shortMinValue, shortmaxValue),
                ExtraFieldsEnabled  = (short)rnd.Next(shortMinValue, shortmaxValue),
                JasperExportEnabled = randomBool,
                QuickSyncEnabled    = (short)rnd.Next(shortMinValue, shortmaxValue)
            };
            await checklist.Create(dbContext).ConfigureAwait(false);

            taggings tagging = new taggings
            {
                Tag         = tag,
                CheckList   = checklist,
                TaggerId    = rnd.Next(1, 255),
                TagId       = rnd.Next(1, 255),
                CheckListId = checklist.Id
            };


            //Act

            await tagging.Create(dbContext).ConfigureAwait(false);

            List <taggings>         taggings        = dbContext.taggings.AsNoTracking().ToList();
            List <tagging_versions> taggingVersions = dbContext.tagging_versions.AsNoTracking().ToList();

            //Assert

            Assert.NotNull(taggings);
            Assert.NotNull(taggingVersions);

            Assert.AreEqual(1, taggings.Count());
            Assert.AreEqual(1, taggingVersions.Count());

            Assert.AreEqual(tagging.CreatedAt.ToString(), taggings[0].CreatedAt.ToString());
            Assert.AreEqual(tagging.Version, taggings[0].Version);
//            Assert.AreEqual(tagging.UpdatedAt.ToString(), taggings[0].UpdatedAt.ToString());
            Assert.AreEqual(taggings[0].WorkflowState, Constants.WorkflowStates.Created);
            Assert.AreEqual(tagging.Id, taggings[0].Id);
            Assert.AreEqual(tagging.TaggerId, taggings[0].TaggerId);
            Assert.AreEqual(tagging.TagId, tag.Id);
            Assert.AreEqual(tagging.CheckListId, checklist.Id);

            //Version 1
            Assert.AreEqual(tagging.CreatedAt.ToString(), taggingVersions[0].CreatedAt.ToString());
            Assert.AreEqual(tagging.Version, taggingVersions[0].Version);
//            Assert.AreEqual(tagging.UpdatedAt.ToString(), taggingVersions[0].UpdatedAt.ToString());
            Assert.AreEqual(taggingVersions[0].WorkflowState, Constants.WorkflowStates.Created);
            Assert.AreEqual(tagging.Id, taggingVersions[0].Id);
            Assert.AreEqual(tagging.TaggerId, taggingVersions[0].TaggerId);
            Assert.AreEqual(tag.Id, taggingVersions[0].TagId);
            Assert.AreEqual(checklist.Id, taggingVersions[0].CheckListId);
        }
コード例 #5
0
        public async Task CheckLists_Delete_DoesSetWorkflowStateToRemoved()
        {
            //Arrange

            Random rnd = new Random();

            short shortMinValue = Int16.MinValue;
            short shortmaxValue = Int16.MaxValue;

            bool randomBool = rnd.Next(0, 2) > 0;

            check_lists checklistParent = new check_lists
            {
                Color               = Guid.NewGuid().ToString(),
                Custom              = Guid.NewGuid().ToString(),
                Description         = Guid.NewGuid().ToString(),
                Field1              = rnd.Next(1, 255),
                Field2              = rnd.Next(1, 255),
                Field4              = rnd.Next(1, 255),
                Field5              = rnd.Next(1, 255),
                Field6              = rnd.Next(1, 255),
                Field7              = rnd.Next(1, 255),
                Field8              = rnd.Next(1, 255),
                Field9              = rnd.Next(1, 255),
                Field10             = rnd.Next(1, 255),
                Label               = Guid.NewGuid().ToString(),
                Repeated            = rnd.Next(1, 255),
                ApprovalEnabled     = (short)rnd.Next(shortMinValue, shortmaxValue),
                CaseType            = Guid.NewGuid().ToString(),
                DisplayIndex        = rnd.Next(1, 255),
                DownloadEntities    = (short)rnd.Next(shortMinValue, shortmaxValue),
                FastNavigation      = (short)rnd.Next(shortMinValue, shortmaxValue),
                FolderName          = Guid.NewGuid().ToString(),
                ManualSync          = (short)rnd.Next(shortMinValue, shortmaxValue),
                MultiApproval       = (short)rnd.Next(shortMinValue, shortmaxValue),
                OriginalId          = Guid.NewGuid().ToString(),
                ReviewEnabled       = (short)rnd.Next(shortMinValue, shortmaxValue),
                DocxExportEnabled   = randomBool,
                DoneButtonEnabled   = (short)rnd.Next(shortMinValue, shortmaxValue),
                ExtraFieldsEnabled  = (short)rnd.Next(shortMinValue, shortmaxValue),
                JasperExportEnabled = randomBool,
                QuickSyncEnabled    = (short)rnd.Next(shortMinValue, shortmaxValue)
            };
            await checklistParent.Create(dbContext).ConfigureAwait(false);

            check_lists checklist = new check_lists
            {
                Color               = Guid.NewGuid().ToString(),
                Custom              = Guid.NewGuid().ToString(),
                Description         = Guid.NewGuid().ToString(),
                Field1              = rnd.Next(1, 255),
                Field2              = rnd.Next(1, 255),
                Field4              = rnd.Next(1, 255),
                Field5              = rnd.Next(1, 255),
                Field6              = rnd.Next(1, 255),
                Field7              = rnd.Next(1, 255),
                Field8              = rnd.Next(1, 255),
                Field9              = rnd.Next(1, 255),
                Field10             = rnd.Next(1, 255),
                Label               = Guid.NewGuid().ToString(),
                Repeated            = rnd.Next(1, 255),
                ApprovalEnabled     = (short)rnd.Next(shortMinValue, shortmaxValue),
                CaseType            = Guid.NewGuid().ToString(),
                DisplayIndex        = rnd.Next(1, 255),
                DownloadEntities    = (short)rnd.Next(shortMinValue, shortmaxValue),
                FastNavigation      = (short)rnd.Next(shortMinValue, shortmaxValue),
                FolderName          = Guid.NewGuid().ToString(),
                ManualSync          = (short)rnd.Next(shortMinValue, shortmaxValue),
                MultiApproval       = (short)rnd.Next(shortMinValue, shortmaxValue),
                OriginalId          = Guid.NewGuid().ToString(),
                ReviewEnabled       = (short)rnd.Next(shortMinValue, shortmaxValue),
                DocxExportEnabled   = randomBool,
                DoneButtonEnabled   = (short)rnd.Next(shortMinValue, shortmaxValue),
                ExtraFieldsEnabled  = (short)rnd.Next(shortMinValue, shortmaxValue),
                JasperExportEnabled = randomBool,
                QuickSyncEnabled    = (short)rnd.Next(shortMinValue, shortmaxValue),
                ParentId            = checklistParent.Id
            };
            await checklist.Create(dbContext).ConfigureAwait(false);

            //Act

            DateTime?oldUpdatedAt = checklist.UpdatedAt;


            await checklist.Delete(dbContext);


            List <check_lists>         checkLists       = dbContext.check_lists.AsNoTracking().ToList();
            List <check_list_versions> checkListVersion = dbContext.check_list_versions.AsNoTracking().ToList();

            //Assert

            Assert.NotNull(checkLists);
            Assert.NotNull(checkListVersion);

            Assert.AreEqual(2, checkLists.Count());
            Assert.AreEqual(3, checkListVersion.Count());

            Assert.AreEqual(checklist.CreatedAt.ToString(), checkLists[1].CreatedAt.ToString());
            Assert.AreEqual(checklist.Version, checkLists[1].Version);
//            Assert.AreEqual(checklist.UpdatedAt.ToString(), checkLists[1].UpdatedAt.ToString());
            Assert.AreEqual(checkLists[1].WorkflowState, Constants.WorkflowStates.Removed);
            Assert.AreEqual(checklist.Id, checkLists[1].Id);
            Assert.AreEqual(checklist.Color, checkLists[1].Color);
            Assert.AreEqual(checklist.Custom, checkLists[1].Custom);
            Assert.AreEqual(checklist.Description, checkLists[1].Description);
            Assert.AreEqual(checklist.Field1, checkLists[1].Field1);
            Assert.AreEqual(checklist.Field2, checkLists[1].Field2);
            Assert.AreEqual(checklist.Field3, checkLists[1].Field3);
            Assert.AreEqual(checklist.Field4, checkLists[1].Field4);
            Assert.AreEqual(checklist.Field5, checkLists[1].Field5);
            Assert.AreEqual(checklist.Field6, checkLists[1].Field6);
            Assert.AreEqual(checklist.Field7, checkLists[1].Field7);
            Assert.AreEqual(checklist.Field8, checkLists[1].Field8);
            Assert.AreEqual(checklist.Field9, checkLists[1].Field9);
            Assert.AreEqual(checklist.Field10, checkLists[1].Field10);
            Assert.AreEqual(checklist.Label, checkLists[1].Label);
            Assert.AreEqual(checklist.Repeated, checkLists[1].Repeated);
            Assert.AreEqual(checklist.ApprovalEnabled, checkLists[1].ApprovalEnabled);
            Assert.AreEqual(checklist.CaseType, checkLists[1].CaseType);
            Assert.AreEqual(checklist.DisplayIndex, checkLists[1].DisplayIndex);
            Assert.AreEqual(checklist.DownloadEntities, checkLists[1].DownloadEntities);
            Assert.AreEqual(checklist.FastNavigation, checkLists[1].FastNavigation);
            Assert.AreEqual(checklist.FolderName, checkLists[1].FolderName);
            Assert.AreEqual(checklist.ManualSync, checkLists[1].ManualSync);
            Assert.AreEqual(checklist.MultiApproval, checkLists[1].MultiApproval);
            Assert.AreEqual(checklist.OriginalId, checkLists[1].OriginalId);
            Assert.AreEqual(checklist.ParentId, checklistParent.Id);
            Assert.AreEqual(checklist.ReviewEnabled, checkLists[1].ReviewEnabled);
            Assert.AreEqual(checklist.DocxExportEnabled, checkLists[1].DocxExportEnabled);
            Assert.AreEqual(checklist.DoneButtonEnabled, checkLists[1].DoneButtonEnabled);
            Assert.AreEqual(checklist.ExtraFieldsEnabled, checkLists[1].ExtraFieldsEnabled);
            Assert.AreEqual(checklist.JasperExportEnabled, checkLists[1].JasperExportEnabled);
            Assert.AreEqual(checklist.QuickSyncEnabled, checkLists[1].QuickSyncEnabled);

            //Old Version
            Assert.AreEqual(checklist.CreatedAt.ToString(), checkListVersion[1].CreatedAt.ToString());
            Assert.AreEqual(1, checkListVersion[1].Version);
//            Assert.AreEqual(oldUpdatedAt.ToString(), checkListVersion[1].UpdatedAt.ToString());
            Assert.AreEqual(checkListVersion[1].WorkflowState, Constants.WorkflowStates.Created);
            Assert.AreEqual(checklist.Id, checkListVersion[1].CheckListId);
            Assert.AreEqual(checklist.Color, checkListVersion[1].Color);
            Assert.AreEqual(checklist.Custom, checkListVersion[1].Custom);
            Assert.AreEqual(checklist.Description, checkListVersion[1].Description);
            Assert.AreEqual(checklist.Field1, checkListVersion[1].Field1);
            Assert.AreEqual(checklist.Field2, checkListVersion[1].Field2);
            Assert.AreEqual(checklist.Field3, checkListVersion[1].Field3);
            Assert.AreEqual(checklist.Field4, checkListVersion[1].Field4);
            Assert.AreEqual(checklist.Field5, checkListVersion[1].Field5);
            Assert.AreEqual(checklist.Field6, checkListVersion[1].Field6);
            Assert.AreEqual(checklist.Field7, checkListVersion[1].Field7);
            Assert.AreEqual(checklist.Field8, checkListVersion[1].Field8);
            Assert.AreEqual(checklist.Field9, checkListVersion[1].Field9);
            Assert.AreEqual(checklist.Field10, checkListVersion[1].Field10);
            Assert.AreEqual(checklist.Label, checkListVersion[1].Label);
            Assert.AreEqual(checklist.Repeated, checkListVersion[1].Repeated);
            Assert.AreEqual(checklist.ApprovalEnabled, checkListVersion[1].ApprovalEnabled);
            Assert.AreEqual(checklist.CaseType, checkListVersion[1].CaseType);
            Assert.AreEqual(checklist.DisplayIndex, checkListVersion[1].DisplayIndex);
            Assert.AreEqual(checklist.DownloadEntities, checkListVersion[1].DownloadEntities);
            Assert.AreEqual(checklist.FastNavigation, checkListVersion[1].FastNavigation);
            Assert.AreEqual(checklist.FolderName, checkListVersion[1].FolderName);
            Assert.AreEqual(checklist.ManualSync, checkListVersion[1].ManualSync);
            Assert.AreEqual(checklist.MultiApproval, checkListVersion[1].MultiApproval);
            Assert.AreEqual(checklist.OriginalId, checkListVersion[1].OriginalId);
            Assert.AreEqual(checklistParent.Id, checkListVersion[1].ParentId);
            Assert.AreEqual(checklist.ReviewEnabled, checkListVersion[1].ReviewEnabled);
            Assert.AreEqual(checklist.DocxExportEnabled, checkListVersion[1].DocxExportEnabled);
            Assert.AreEqual(checklist.DoneButtonEnabled, checkListVersion[1].DoneButtonEnabled);
            Assert.AreEqual(checklist.ExtraFieldsEnabled, checkListVersion[1].ExtraFieldsEnabled);
            Assert.AreEqual(checklist.JasperExportEnabled, checkListVersion[1].JasperExportEnabled);
            Assert.AreEqual(checklist.QuickSyncEnabled, checkListVersion[1].QuickSyncEnabled);

            //New Version
            Assert.AreEqual(checklist.CreatedAt.ToString(), checkListVersion[2].CreatedAt.ToString());
            Assert.AreEqual(2, checkListVersion[2].Version);
//            Assert.AreEqual(checklist.UpdatedAt.ToString(), checkListVersion[2].UpdatedAt.ToString());
            Assert.AreEqual(checkListVersion[2].WorkflowState, Constants.WorkflowStates.Removed);
            Assert.AreEqual(checklist.Id, checkListVersion[2].CheckListId);
            Assert.AreEqual(checklist.Color, checkListVersion[2].Color);
            Assert.AreEqual(checklist.Custom, checkListVersion[2].Custom);
            Assert.AreEqual(checklist.Description, checkListVersion[2].Description);
            Assert.AreEqual(checklist.Field1, checkListVersion[2].Field1);
            Assert.AreEqual(checklist.Field2, checkListVersion[2].Field2);
            Assert.AreEqual(checklist.Field3, checkListVersion[2].Field3);
            Assert.AreEqual(checklist.Field4, checkListVersion[2].Field4);
            Assert.AreEqual(checklist.Field5, checkListVersion[2].Field5);
            Assert.AreEqual(checklist.Field6, checkListVersion[2].Field6);
            Assert.AreEqual(checklist.Field7, checkListVersion[2].Field7);
            Assert.AreEqual(checklist.Field8, checkListVersion[2].Field8);
            Assert.AreEqual(checklist.Field9, checkListVersion[2].Field9);
            Assert.AreEqual(checklist.Field10, checkListVersion[2].Field10);
            Assert.AreEqual(checklist.Label, checkListVersion[2].Label);
            Assert.AreEqual(checklist.Repeated, checkListVersion[2].Repeated);
            Assert.AreEqual(checklist.ApprovalEnabled, checkListVersion[2].ApprovalEnabled);
            Assert.AreEqual(checklist.CaseType, checkListVersion[2].CaseType);
            Assert.AreEqual(checklist.DisplayIndex, checkListVersion[2].DisplayIndex);
            Assert.AreEqual(checklist.DownloadEntities, checkListVersion[2].DownloadEntities);
            Assert.AreEqual(checklist.FastNavigation, checkListVersion[2].FastNavigation);
            Assert.AreEqual(checklist.FolderName, checkListVersion[2].FolderName);
            Assert.AreEqual(checklist.ManualSync, checkListVersion[2].ManualSync);
            Assert.AreEqual(checklist.MultiApproval, checkListVersion[2].MultiApproval);
            Assert.AreEqual(checklist.OriginalId, checkListVersion[2].OriginalId);
            Assert.AreEqual(checklistParent.Id, checkListVersion[2].ParentId);
            Assert.AreEqual(checklist.ReviewEnabled, checkListVersion[2].ReviewEnabled);
            Assert.AreEqual(checklist.DocxExportEnabled, checkListVersion[2].DocxExportEnabled);
            Assert.AreEqual(checklist.DoneButtonEnabled, checkListVersion[2].DoneButtonEnabled);
            Assert.AreEqual(checklist.ExtraFieldsEnabled, checkListVersion[2].ExtraFieldsEnabled);
            Assert.AreEqual(checklist.JasperExportEnabled, checkListVersion[2].JasperExportEnabled);
            Assert.AreEqual(checklist.QuickSyncEnabled, checkListVersion[2].QuickSyncEnabled);
        }