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); }
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); }
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); }
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); }
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); }