Пример #1
0
        public void Addfile_to_Meeting_and_modify_File_in_andriod_Must_Work_Correctly()
        {
            #region Arrange
            //Create meeting by web with file
            var actionController = ServiceLocator.Current.GetInstance<MeetingsController>();
            CreateWorkingMeeting(DateTime.Now.AddHours(4), 1);
            var currentMeeting = actionController.GetAll().First();
            currentMeeting.Decisions = "this is test decision for our project";
            currentMeeting.Details = "this test details creation for our project";
            currentMeeting.Files = new List<FileDto>
            {
                new FileDto
                {
                    ContentType = ".jpeg",
                    Content = "File 1 From Web"
                },
                new FileDto
                {
                    ContentType = ".kk",
                    Content = "File 2 From Web"
                }
            };

            actionController.PutMeeting(currentMeeting);
            // Get By andriod 
            actionController = ServiceLocator.Current.GetInstance<MeetingsController>();
            var result = actionController.GetAll((int)AppType.AndriodApp);


            #endregion

           
            #region Act
            // Post Modified Meeting with fileList change from andriod
            var modifiedMeeting = result.First().Meeting;
            modifiedMeeting.Files.Remove(modifiedMeeting.Files.First());
            modifiedMeeting.Files.Add(new FileDto
            {
                ContentType = ".ss",
                Content = "File from Andriod"
            });


            var meetingSyncRequest = new MeetingSyncRequest
            {
                AppType = (int)AppType.AndriodApp,
                Items = new List<MeetingSyncItem>
                {
                    new MeetingSyncItem
                    {
                        Meeting = modifiedMeeting,
                        SyncId = result.First().SyncId,
                        ActionType = (int)EntityActionType.Modify
                    }
                }
            };
            actionController = ServiceLocator.Current.GetInstance<MeetingsController>();
            actionController.PostMeetings(meetingSyncRequest, "SyncByMe"); 
            #endregion

            #region Assert
            //Get result 
            actionController = ServiceLocator.Current.GetInstance<MeetingsController>();
            var finalResult = actionController.GetAll(); 
            #endregion







        }
Пример #2
0
        public void PostMeetings_SyncFromDevice_Should_CreateMeeting_Working_Or_NoneWorking_ByAndriod()
        {
            #region Arrange

            var workingMeetingDto = createBaseMeetingDto(DateTime.Now, 1);
            workingMeetingDto.MeetingType = (int)MeetingType.Working;

            var noneWorkingMeetingDto = createBaseMeetingDto(DateTime.Now.AddHours(4), 1);
            noneWorkingMeetingDto.MeetingType = (int)MeetingType.NonWorking;

            var meetingSyncRequest = new MeetingSyncRequest
            {
                AppType = (int)AppType.AndriodApp,
                Items = new List<MeetingSyncItem>
                {
                    new MeetingSyncItem
                    {
                        Meeting = workingMeetingDto,
                        SyncId = Guid.NewGuid(),
                        ActionType = (int)EntityActionType.Create
                    },
                    new MeetingSyncItem
                    {
                        Meeting = noneWorkingMeetingDto,
                        SyncId = Guid.NewGuid(),
                        ActionType = (int)EntityActionType.Create
                    }
                }
            }; 

            #endregion

            #region Act

            var actionController = ServiceLocator.Current.GetInstance<MeetingsController>();
            actionController.PostMeetings(meetingSyncRequest, "forEhsan"); 

            #endregion

            #region Assert
            var context=new RMSContext();
            
           // var assertController = ServiceLocator.Current.GetInstance<MeetingsController>();
            var actualMembers = context.Meetings.ToList();

            if(actualMembers.Count!=2)
                Assert.Fail("it didnt create by sync correctly");
            if(actualMembers.Count(r=>meetingSyncRequest.Items.Select(i=>i.SyncId).Contains(r.SyncId))!=2)
                Assert.Fail("Sync Id didnt set correctly");
            if (actualMembers.Count(r => r.ActionType==EntityActionType.Create)!=2)
                Assert.Fail("ActionType didnt set correctly");
            if(actualMembers.Count(r => r.SyncedWithAndriodApp)!=2)
                Assert.Fail("Sync with andriod didnt set correctly");


            #endregion

        }
Пример #3
0
        public void PostMeetings_SyncFromDevice_Should_ModifyMeeting_Working_Or_NoneWorking_ByAndriod_WithCreationSyncing()
        {
            #region Arrange

            var workingMeetingDto = createBaseMeetingDto(DateTime.Now, 1);
            workingMeetingDto.MeetingType = (int)MeetingType.Working;

            var noneWorkingMeetingDto = createBaseMeetingDto(DateTime.Now.AddHours(4), 1);
            noneWorkingMeetingDto.MeetingType = (int)MeetingType.NonWorking;

            var meetingSyncRequest = new MeetingSyncRequest
            {
                AppType = (int)AppType.AndriodApp,
                Items = new List<MeetingSyncItem>
                {
                    new MeetingSyncItem
                    {
                        Meeting = workingMeetingDto,
                        SyncId = Guid.NewGuid(),
                        ActionType = (int)EntityActionType.Create
                    },
                    new MeetingSyncItem
                    {
                        Meeting = noneWorkingMeetingDto,
                        SyncId = Guid.NewGuid(),
                        ActionType = (int)EntityActionType.Create
                    }
                }
            };
            var arrangeController = ServiceLocator.Current.GetInstance<MeetingsController>();
            arrangeController.PostMeetings(meetingSyncRequest, "forEhsan");

            #endregion

            #region Act

            var expectedModifiedMeeting = meetingSyncRequest.Items.First();
            expectedModifiedMeeting.ActionType = (int)EntityActionType.Modify;
            expectedModifiedMeeting.Meeting.Decisions = "ksldfsdfsdfsdf";
            expectedModifiedMeeting.Meeting.Files = new List<FileDto>
            {
                new FileDto
                {
                    ContentType = ".x",
                    Content = Utility.Base64ConvertedFile
                }
            };

            var actionController = ServiceLocator.Current.GetInstance<MeetingsController>();
            actionController.PostMeetings(new MeetingSyncRequest
            {
                AppType = (int) AppType.AndriodApp,
                Items = new List<MeetingSyncItem>
                {
                    expectedModifiedMeeting
                }
            }, "ehsan");

            #endregion

            #region Assert

            //var context = new RMSContext();
            //var actualMembers = context.Meetings.ToList();

            //if (actualMembers.Count != 2)
            //    Assert.Fail("it didnt create by sync correctly");
            //if (actualMembers.Count(r => meetingSyncRequest.Items.Select(i => i.SyncId).Contains(r.SyncId)) != 2)
            //    Assert.Fail("Sync Id didnt set correctly");
            //if (actualMembers.Count(r => r.ActionType == EntityActionType.Create) != 2)
            //    Assert.Fail("ActionType didnt set correctly");
            //if (actualMembers.Count(r => r.SyncedWithAndriodApp) != 2)
            //    Assert.Fail("Sync with andriod didnt set correctly");

            #endregion

        }
Пример #4
0
 public void Sync(MeetingSyncRequest syncReuest)
 {
     if (syncReuest == null)
         throw new ArgumentException("syncRequest can't be null", "syncReuest");
     var appType = (AppType)syncReuest.AppType;
     foreach (var syncItem in syncReuest.Items)
     {
         if (syncItem.ActionType == (int)EntityActionType.Create)
             Create(syncItem.Meeting, appType, syncItem.SyncId);
         if (syncItem.ActionType == (int)EntityActionType.Modify)
             Modify(syncItem.Meeting, appType, syncItem.SyncId);
         if (syncItem.ActionType == (int)EntityActionType.Delete)
             Delete(syncItem.Meeting, appType, syncItem.SyncId);
     }
 }