예제 #1
0
        public async Task SQL_Case_CaseDeleteReversed_DoesDeletionReversed()
        {
            // Arrance
            Random rnd  = new Random();
            sites  site = await testHelpers.CreateSite("mySite", 987);

            DateTime    cl1_Ca = DateTime.Now;
            DateTime    cl1_Ua = DateTime.Now;
            check_lists cl1    = await testHelpers.CreateTemplate(cl1_Ca, cl1_Ua, "bla", "bla_desc", "", "", 0, 0);

            string guid          = Guid.NewGuid().ToString();
            int    lastCheckUid1 = rnd.Next(1, 255);


            check_list_sites cls1 = await testHelpers.CreateCheckListSite(cl1, cl1_Ca, site, cl1_Ua, 1, Constants.WorkflowStates.Created, lastCheckUid1);

            // Act
            await sut.CaseDeleteReversed(cls1.MicrotingUid);

            List <check_list_sites> checkListSiteResult = dbContext.check_list_sites.AsNoTracking().ToList();

            // Assert

            Assert.NotNull(checkListSiteResult);
            Assert.AreEqual(1, checkListSiteResult.Count);
            Assert.AreEqual(Constants.WorkflowStates.Removed, checkListSiteResult[0].WorkflowState);
        }
예제 #2
0
        public async Task SQL_Case_CheckListSitesRead_DoesSiteRead()
        {
            Random rnd   = new Random();
            sites  site1 = await testHelpers.CreateSite("mySite2", 331);

            DateTime    cl1_Ca = DateTime.Now;
            DateTime    cl1_Ua = DateTime.Now;
            check_lists cl1    = await testHelpers.CreateTemplate(cl1_Ca, cl1_Ua, "template2", "template_desc", "", "", 1, 1);

            string guid          = Guid.NewGuid().ToString();
            string guid2         = Guid.NewGuid().ToString();
            int    lastCheckUid1 = rnd.Next(1, 255);
            int    lastCheckUid2 = rnd.Next(1, 255);

            check_list_sites cls1 = await testHelpers.CreateCheckListSite(cl1, cl1_Ca, site1, cl1_Ua, 1, Constants.WorkflowStates.Created, lastCheckUid1);

            check_list_sites cls2 = await testHelpers.CreateCheckListSite(cl1, cl1_Ca, site1, cl1_Ua, 2, Constants.WorkflowStates.Created, lastCheckUid2);

            // Act
            List <int> matches = await sut.CheckListSitesRead(cl1.Id, (int)site1.MicrotingUid, Constants.WorkflowStates.NotRemoved);

            List <int> matches2 = await sut.CheckListSitesRead(cl1.Id, (int)site1.MicrotingUid, null);

            List <check_list_sites> checkListSiteResult1 = dbContext.check_list_sites.AsNoTracking().ToList();
            var versionedMatches1 = dbContext.check_list_site_versions.AsNoTracking().ToList();


            // Assert
            Assert.NotNull(matches);
            Assert.AreEqual(2, matches.Count);
            Assert.AreEqual(2, matches2.Count);
            Assert.AreEqual(cls1.MicrotingUid, matches[0]);
            Assert.AreEqual(cls1.MicrotingUid, matches2[0]);
            Assert.AreEqual(cls2.MicrotingUid, matches2[1]);
        }
예제 #3
0
        public void SQL_Case_CheckListSitesRead_DoesSiteRead()
        {
            sites       site1  = testHelpers.CreateSite("mySite2", 331);
            DateTime    cl1_Ca = DateTime.Now;
            DateTime    cl1_Ua = DateTime.Now;
            check_lists cl1    = testHelpers.CreateTemplate(cl1_Ca, cl1_Ua, "template2", "template_desc", "", "", 1, 1);

            string guid          = Guid.NewGuid().ToString();
            string guid2         = Guid.NewGuid().ToString();
            string lastCheckUid1 = Guid.NewGuid().ToString();
            string lastCheckUid2 = Guid.NewGuid().ToString();

            check_list_sites cls1 = testHelpers.CreateCheckListSite(cl1, cl1_Ca, site1, cl1_Ua, 1, Constants.WorkflowStates.Created, lastCheckUid1);
            check_list_sites cls2 = testHelpers.CreateCheckListSite(cl1, cl1_Ca, site1, cl1_Ua, 2, Constants.WorkflowStates.Created, lastCheckUid2);

            // Act
            List <string>           matches              = sut.CheckListSitesRead(cl1.id, (int)site1.microting_uid, Constants.WorkflowStates.NotRemoved);
            List <string>           matches2             = sut.CheckListSitesRead(cl1.id, (int)site1.microting_uid, null);
            List <check_list_sites> checkListSiteResult1 = DbContext.check_list_sites.AsNoTracking().ToList();
            var versionedMatches1 = DbContext.check_list_site_versions.AsNoTracking().ToList();


            // Assert
            Assert.NotNull(matches);
            Assert.AreEqual(2, matches.Count);
            Assert.AreEqual(2, matches2.Count);
            Assert.AreEqual(cls1.microting_uid, matches[0]);
            Assert.AreEqual(cls1.microting_uid, matches2[0]);
            Assert.AreEqual(cls2.microting_uid, matches2[1]);
        }
예제 #4
0
        public check_list_sites CreateCheckListSite(check_lists checklist, DateTime createdAt,
                                                    sites site, DateTime updatedAt, int version, string workflowState, string microting_uid)
        {
            check_list_sites cls = new check_list_sites();

            cls.check_list     = checklist;
            cls.created_at     = createdAt;
            cls.site           = site;
            cls.updated_at     = updatedAt;
            cls.version        = version;
            cls.workflow_state = workflowState;
            cls.microting_uid  = microting_uid;
            DbContext.check_list_sites.Add(cls);
            DbContext.SaveChanges();
            return(cls);
        }
예제 #5
0
        public check_list_sites CreateCheckListSite(int checkListId, int siteId, string microtingUId, string workflowState, string lastCheckUid)
        {
            check_list_sites cls = new check_list_sites();

            cls.site_id        = siteId;
            cls.check_list_id  = checkListId;
            cls.microting_uid  = microtingUId;
            cls.last_check_id  = lastCheckUid;
            cls.created_at     = DateTime.Now;
            cls.updated_at     = DateTime.Now;
            cls.workflow_state = workflowState;

            DbContext.check_list_sites.Add(cls);
            DbContext.SaveChanges();
            return(cls);
        }
        public async Task <check_list_sites> CreateCheckListSite(check_lists checklist, DateTime createdAt,
                                                                 sites site, DateTime updatedAt, int version, string workflowState, int microting_uid)
        {
            check_list_sites cls = new check_list_sites();

            cls.CheckList     = checklist;
            cls.CreatedAt     = createdAt;
            cls.Site          = site;
            cls.UpdatedAt     = updatedAt;
            cls.Version       = version;
            cls.WorkflowState = workflowState;
            cls.MicrotingUid  = microting_uid;
            await cls.Create(dbContext).ConfigureAwait(false);

//            DbContext.check_list_sites.Add(cls);
//            await dbContext.SaveChangesAsync().ConfigureAwait(false);
            return(cls);
        }
예제 #7
0
        public void SQL_Case_CaseDeleteReversed_DoesDeletionReversed()
        {
            // Arrance
            sites       site   = testHelpers.CreateSite("mySite", 987);
            DateTime    cl1_Ca = DateTime.Now;
            DateTime    cl1_Ua = DateTime.Now;
            check_lists cl1    = testHelpers.CreateTemplate(cl1_Ca, cl1_Ua, "bla", "bla_desc", "", "", 0, 0);

            string guid          = Guid.NewGuid().ToString();
            string lastCheckUid1 = Guid.NewGuid().ToString();


            check_list_sites cls1 = testHelpers.CreateCheckListSite(cl1, cl1_Ca, site, cl1_Ua, 1, Constants.WorkflowStates.Created, lastCheckUid1);

            // Act
            sut.CaseDeleteReversed(cls1.microting_uid);
            List <check_list_sites> checkListSiteResult = DbContext.check_list_sites.AsNoTracking().ToList();

            // Assert

            Assert.NotNull(checkListSiteResult);
            Assert.AreEqual(1, checkListSiteResult.Count);
            Assert.AreEqual(Constants.WorkflowStates.Removed, checkListSiteResult[0].workflow_state);
        }
예제 #8
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);
        }
        public string CreateMultiPictureXMLResult(bool create)
        {
            if (create)
            {
                sites            site   = testHelpers.CreateSite("TestSite1", 12334);
                units            unit   = testHelpers.CreateUnit(20934, 234234, site, 24234);
                workers          worker = testHelpers.CreateWorker("*****@*****.**", "John", "Doe", 2342341);
                site_workers     sw     = testHelpers.CreateSiteWorker(242345, site, worker);
                DateTime         cl1_ca = DateTime.Now;
                DateTime         cl1_ua = DateTime.Now;
                check_lists      cl1    = testHelpers.CreateTemplate(cl1_ca, cl1_ua, "MultiPictureXMLResult", "MultiPictureXMLResult_Description", "", "", 0, 0);
                check_lists      cl2    = testHelpers.CreateSubTemplate("Sub1", "Sub1Description", "", 0, 0, cl1);
                fields           f1     = testHelpers.CreateField(0, "", cl2, Constants.FieldColors.Blue, "", null, "", "PictureDescription", 0, 0, testHelpers.DbContext.field_types.Where(x => x.field_type == "picture").First(), 0, 0, 0, 0, "Take picture", 0, 0, "", "", 0, 0, "", 0, 0, 0, 0, "", 0);
                check_list_sites cls    = testHelpers.CreateCheckListSite(cl1, cl1_ca, site, cl1_ua, 0, Constants.WorkflowStates.Created, "MultiPictureTestInMultipleChecks");
                //returnXML = ;
                return("MultiPictureTestInMultipleChecks");
            }
            else
            {
                sites       site   = testHelpers.DbContext.sites.First();
                units       unit   = testHelpers.DbContext.units.First();
                workers     worker = testHelpers.DbContext.workers.First();
                check_lists cl1    = testHelpers.DbContext.check_lists.ToList()[0];
                check_lists cl2    = testHelpers.DbContext.check_lists.ToList()[1];
                fields      f1     = testHelpers.DbContext.fields.First();

                #region return xml
                return($@"<?xml version='1.0' encoding='UTF-8'?>
                <Response>
                    <Value type='success'>MultiPictureTestInMultipleChecks</Value>
                    <Checks>
                        <Check worker='John Doe' worker_id='{worker.microting_uid}' date='2018-04-25 14:29:21 +0200' unit_id='{unit.microting_uid}' id='7'>
                            <ElementList>
                                <Id>{cl2.id}</Id>
                                <Status>approved</Status>
                                <DataItemList>
                                    <DataItem>
                                        <Id>{f1.id}</Id>
                                        <Geolocation>
                                            <Latitude></Latitude>
                                            <Longitude></Longitude>
                                            <Altitude></Altitude>
                                            <Heading></Heading>
                                            <Accuracy></Accuracy>
                                            <Date></Date>
                                        </Geolocation>
                                        <Value></Value>
                                        <Extension>.jpeg</Extension>
                                        <URL>https://www.microting.com/wp-content/themes/Artificial-Reason-WP/img/close.png</URL>
                                    </DataItem>
                                </DataItemList>
                                <ExtraDataItemList></ExtraDataItemList>
                            </ElementList>
                        </Check>
                        <Check worker='John Doe' worker_id='{worker.microting_uid}' date='2018-04-25 14:29:52 +0200' unit_id='{unit.microting_uid}' id='12'>
                            <ElementList>
                                <Id>{cl2.id}</Id>
                                <Status>approved</Status>
                                <DataItemList>
                                    <DataItem>
                                        <Id>{f1.id}</Id>
                                        <Geolocation>
                                            <Latitude></Latitude>
                                            <Longitude></Longitude>
                                            <Altitude></Altitude>
                                            <Heading></Heading>
                                            <Accuracy></Accuracy>
                                            <Date></Date>
                                        </Geolocation>
                                        <Value></Value>
                                        <Extension>.jpeg</Extension>
                                        <URL>https://www.microting.com/wp-content/themes/Artificial-Reason-WP/img/close.png</URL>
                                    </DataItem>
                                    <DataItem>
                                        <Id>{f1.id}</Id>
                                        <Geolocation>
                                            <Latitude></Latitude>
                                            <Longitude></Longitude>
                                            <Altitude></Altitude>
                                            <Heading></Heading>
                                            <Accuracy></Accuracy>
                                            <Date></Date>
                                        </Geolocation>
                                        <Value></Value>
                                        <Extension>.jpeg</Extension>
                                        <URL>https://www.microting.com/wp-content/themes/Artificial-Reason-WP/img/close.png</URL>
                                    </DataItem>
                                </DataItemList>
                                <ExtraDataItemList></ExtraDataItemList>
                            </ElementList>
                        </Check>
                        <Check worker='John Doe' worker_id='{worker.microting_uid}' date='2018-04-25 14:39:43 +0200' unit_id='{unit.microting_uid}' id='17'>
                            <ElementList>
                                <Id>{cl2.id}</Id>
                                <Status>approved</Status>
                                <DataItemList>
                                    <DataItem>
                                        <Id>{f1.id}</Id>
                                        <Geolocation>
                                            <Latitude></Latitude>
                                            <Longitude></Longitude>
                                            <Altitude></Altitude>
                                            <Heading></Heading>
                                            <Accuracy></Accuracy>
                                            <Date></Date>
                                        </Geolocation>
                                        <Value></Value>
                                        <Extension>.jpeg</Extension>
                                        <URL>https://www.microting.com/wp-content/themes/Artificial-Reason-WP/img/close.png</URL>
                                    </DataItem>
                                    <DataItem>
                                        <Id>{f1.id}</Id>
                                        <Geolocation>
                                            <Latitude></Latitude>
                                            <Longitude></Longitude>
                                            <Altitude></Altitude>
                                            <Heading></Heading>
                                            <Accuracy></Accuracy>
                                            <Date></Date>
                                        </Geolocation>
                                        <Value></Value>
                                        <Extension>.jpeg</Extension>
                                        <URL>https://www.microting.com/wp-content/themes/Artificial-Reason-WP/img/close.png</URL>
                                    </DataItem>
                                </DataItemList>
                                <ExtraDataItemList></ExtraDataItemList>
                            </ElementList>
                        </Check>
                    </Checks>
                </Response>".Replace("'", "\""));

                #endregion
            }
        }