コード例 #1
0
        public async Task UploadedData_Create_DoesCreate()
        {
            //Arrange
            Random rnd = new Random();

            short minValue = Int16.MinValue;
            short maxValue = Int16.MaxValue;

            uploaded_data uploadedData = new uploaded_data
            {
                Checksum        = Guid.NewGuid().ToString(),
                Extension       = Guid.NewGuid().ToString(),
                Local           = (short)rnd.Next(minValue, maxValue),
                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()
            };

            //Act

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

            List <uploaded_data>          uploadedDatas        = dbContext.uploaded_data.AsNoTracking().ToList();
            List <uploaded_data_versions> uploadedDataVersions = dbContext.uploaded_data_versions.AsNoTracking().ToList();

            //Assert

            Assert.NotNull(uploadedDatas);
            Assert.NotNull(uploadedDataVersions);

            Assert.AreEqual(1, uploadedDatas.Count());
            Assert.AreEqual(1, uploadedDataVersions.Count());


            Assert.AreEqual(uploadedData.CreatedAt.ToString(), uploadedDatas[0].CreatedAt.ToString());
            Assert.AreEqual(uploadedData.Version, uploadedDatas[0].Version);
//            Assert.AreEqual(uploadedData.UpdatedAt.ToString(), uploadedDatas[0].UpdatedAt.ToString());
            Assert.AreEqual(uploadedDatas[0].WorkflowState, Constants.WorkflowStates.Created);
            Assert.AreEqual(uploadedData.Checksum, uploadedDatas[0].Checksum);
            Assert.AreEqual(uploadedData.Extension, uploadedDatas[0].Extension);
            Assert.AreEqual(uploadedData.Local, uploadedDatas[0].Local);
            Assert.AreEqual(uploadedData.CurrentFile, uploadedDatas[0].CurrentFile);
            Assert.AreEqual(uploadedData.ExpirationDate.ToString(), uploadedDatas[0].ExpirationDate.ToString());
            Assert.AreEqual(uploadedData.FileLocation, uploadedDatas[0].FileLocation);
            Assert.AreEqual(uploadedData.FileName, uploadedDatas[0].FileName);
            Assert.AreEqual(uploadedData.TranscriptionId, uploadedDatas[0].TranscriptionId);
            Assert.AreEqual(uploadedData.UploaderId, uploadedDatas[0].UploaderId);
            Assert.AreEqual(uploadedData.UploaderType, uploadedDatas[0].UploaderType);

            //Versions
            Assert.AreEqual(uploadedData.CreatedAt.ToString(), uploadedDataVersions[0].CreatedAt.ToString());
            Assert.AreEqual(uploadedData.Version, uploadedDataVersions[0].Version);
//            Assert.AreEqual(uploadedData.UpdatedAt.ToString(), uploadedDataVersions[0].UpdatedAt.ToString());
            Assert.AreEqual(uploadedDataVersions[0].WorkflowState, Constants.WorkflowStates.Created);
            Assert.AreEqual(uploadedData.Checksum, uploadedDataVersions[0].Checksum);
            Assert.AreEqual(uploadedData.Extension, uploadedDataVersions[0].Extension);
            Assert.AreEqual(uploadedData.Local, uploadedDataVersions[0].Local);
            Assert.AreEqual(uploadedData.CurrentFile, uploadedDataVersions[0].CurrentFile);
            Assert.AreEqual(uploadedData.ExpirationDate.ToString(), uploadedDataVersions[0].ExpirationDate.ToString());
            Assert.AreEqual(uploadedData.FileLocation, uploadedDataVersions[0].FileLocation);
            Assert.AreEqual(uploadedData.FileName, uploadedDataVersions[0].FileName);
            Assert.AreEqual(uploadedData.UploaderId, uploadedDataVersions[0].UploaderId);
            Assert.AreEqual(uploadedData.UploaderType, uploadedDataVersions[0].UploaderType);
            Assert.AreEqual(uploadedData.TranscriptionId, uploadedDataVersions[0].TranscriptionId);
        }
コード例 #2
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);
        }
コード例 #3
0
        public async Task UploadedData_Update_DoesUpdate()
        {
            //Arrange

            Random rnd = new Random();


            short minValue = Int16.MinValue;
            short maxValue = Int16.MaxValue;

            uploaded_data uploadedData = new uploaded_data
            {
                Checksum        = Guid.NewGuid().ToString(),
                Extension       = Guid.NewGuid().ToString(),
                Local           = (short)rnd.Next(minValue, maxValue),
                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);

            //Act

            DateTime?oldUpdatedAt       = uploadedData.UpdatedAt;
            string   oldCheckSum        = uploadedData.Checksum;
            string   oldExtension       = uploadedData.Extension;
            short    oldLocal           = (short)uploadedData.Local;
            string   oldCurrentFile     = uploadedData.CurrentFile;
            DateTime?oldExpirationDate  = uploadedData.ExpirationDate;
            string   oldFileLocation    = uploadedData.FileLocation;
            string   oldFileName        = uploadedData.FileName;
            int?     oldTranscriptionId = uploadedData.TranscriptionId;
            int?     oldUploaderId      = uploadedData.UploaderId;
            string   oldUploaderType    = uploadedData.UploaderType;



            uploadedData.Checksum        = Guid.NewGuid().ToString();
            uploadedData.Extension       = Guid.NewGuid().ToString();
            uploadedData.Local           = (short)rnd.Next(minValue, maxValue);
            uploadedData.CurrentFile     = Guid.NewGuid().ToString();
            uploadedData.ExpirationDate  = DateTime.Now;
            uploadedData.FileLocation    = Guid.NewGuid().ToString();
            uploadedData.FileName        = Guid.NewGuid().ToString();
            uploadedData.TranscriptionId = rnd.Next(1, 255);
            uploadedData.UploaderId      = rnd.Next(1, 255);
            uploadedData.UploaderType    = Guid.NewGuid().ToString();

            await uploadedData.Update(dbContext).ConfigureAwait(false);

            List <uploaded_data>          uploadedDatas        = dbContext.uploaded_data.AsNoTracking().ToList();
            List <uploaded_data_versions> uploadedDataVersions = dbContext.uploaded_data_versions.AsNoTracking().ToList();

            //Assert


            Assert.NotNull(uploadedDatas);
            Assert.NotNull(uploadedDataVersions);

            Assert.AreEqual(1, uploadedDatas.Count());
            Assert.AreEqual(2, uploadedDataVersions.Count());

            Assert.AreEqual(uploadedData.CreatedAt.ToString(), uploadedDatas[0].CreatedAt.ToString());
            Assert.AreEqual(uploadedData.Version, uploadedDatas[0].Version);
//            Assert.AreEqual(uploadedData.UpdatedAt.ToString(), uploadedDatas[0].UpdatedAt.ToString());
            Assert.AreEqual(uploadedData.Checksum, uploadedDatas[0].Checksum);
            Assert.AreEqual(uploadedData.Extension, uploadedDatas[0].Extension);
            Assert.AreEqual(uploadedData.Local, uploadedDatas[0].Local);
            Assert.AreEqual(uploadedData.CurrentFile, uploadedDatas[0].CurrentFile);
            Assert.AreEqual(uploadedData.ExpirationDate.ToString(), uploadedDatas[0].ExpirationDate.ToString());
            Assert.AreEqual(uploadedData.FileLocation, uploadedDatas[0].FileLocation);
            Assert.AreEqual(uploadedData.FileName, uploadedDatas[0].FileName);
            Assert.AreEqual(uploadedData.TranscriptionId, uploadedDatas[0].TranscriptionId);
            Assert.AreEqual(uploadedData.UploaderId, uploadedDatas[0].UploaderId);
            Assert.AreEqual(uploadedData.UploaderType, uploadedDatas[0].UploaderType);

            //Version 1 Old Version
            Assert.AreEqual(uploadedData.CreatedAt.ToString(), uploadedDataVersions[0].CreatedAt.ToString());
            Assert.AreEqual(1, uploadedDataVersions[0].Version);
//            Assert.AreEqual(oldUpdatedAt.ToString(), uploadedDataVersions[0].UpdatedAt.ToString());
            Assert.AreEqual(oldCheckSum, uploadedDataVersions[0].Checksum);
            Assert.AreEqual(oldExtension, uploadedDataVersions[0].Extension);
            Assert.AreEqual(oldLocal, uploadedDataVersions[0].Local);
            Assert.AreEqual(oldCurrentFile, uploadedDataVersions[0].CurrentFile);
            Assert.AreEqual(oldExpirationDate.ToString(), uploadedDataVersions[0].ExpirationDate.ToString());
            Assert.AreEqual(oldFileLocation, uploadedDataVersions[0].FileLocation);
            Assert.AreEqual(oldFileName, uploadedDataVersions[0].FileName);
            Assert.AreEqual(oldTranscriptionId, uploadedDataVersions[0].TranscriptionId);
            Assert.AreEqual(oldUploaderId, uploadedDataVersions[0].UploaderId);
            Assert.AreEqual(oldUploaderType, uploadedDataVersions[0].UploaderType);

            //Version 2 Updated Version
            Assert.AreEqual(uploadedData.CreatedAt.ToString(), uploadedDataVersions[1].CreatedAt.ToString());
            Assert.AreEqual(2, uploadedDataVersions[1].Version);
//            Assert.AreEqual(uploadedData.UpdatedAt.ToString(), uploadedDataVersions[1].UpdatedAt.ToString());
            Assert.AreEqual(uploadedData.Checksum, uploadedDataVersions[1].Checksum);
            Assert.AreEqual(uploadedData.Extension, uploadedDataVersions[1].Extension);
            Assert.AreEqual(uploadedData.Local, uploadedDataVersions[1].Local);
            Assert.AreEqual(uploadedData.CurrentFile, uploadedDataVersions[1].CurrentFile);
            Assert.AreEqual(uploadedData.ExpirationDate.ToString(), uploadedDataVersions[1].ExpirationDate.ToString());
            Assert.AreEqual(uploadedData.FileLocation, uploadedDataVersions[1].FileLocation);
            Assert.AreEqual(uploadedData.FileName, uploadedDataVersions[1].FileName);
            Assert.AreEqual(uploadedData.TranscriptionId, uploadedDataVersions[1].TranscriptionId);
            Assert.AreEqual(uploadedData.UploaderId, uploadedDataVersions[1].UploaderId);
            Assert.AreEqual(uploadedData.UploaderType, uploadedDataVersions[1].UploaderType);
        }