Example #1
0
 public async void Reload()
 {
     Days = AttendanceBuilder.BuildAttendance(
         MonthNavigationViewModel.YearPicker.Value,
         MonthNavigationViewModel.MonthPicker.Value,
         await _shiftManager.GetAsync());
     RaisePropertyChanged(nameof(Days));
 }
Example #2
0
        public void TheEventStartDateIsTheSameAsTheEarliestArrivalDate()
        {
            // Arrange
            var attendance = new AttendanceBuilder().Build();
            var happening  = new EventBuilder().AddAttendance(attendance).Build();

            // Assert
            Assert.AreEqual(attendance.Arrival, happening.Start);
        }
Example #3
0
        public void TheEventEndDateIsTheSameAsTheLatestDepartureDate()
        {
            // Arrange
            var attendance = new AttendanceBuilder().Build();
            var happening  = new EventBuilder().AddAttendance(attendance).Build();

            // Assert
            Assert.AreEqual(attendance.Departure, happening.End);
        }
Example #4
0
        public void ANewEventIsConstructedCorrectlyWithASingleAttendance()
        {
            // Act
            var attendance = new AttendanceBuilder().Build();
            var happening  = new EventBuilder().AddAttendance(attendance).Build();

            // Assert
            Assert.IsNotNull(happening.Attendances);
            Assert.AreEqual(1, happening.Attendances.Count);
            Assert.AreEqual(attendance.Arrival, happening.Start);
            Assert.AreEqual(attendance.Departure, happening.End);
            //Assert.AreEqual("Location", happening.Location);
        }
Example #5
0
        public void TheEventStartDateIsNotUpdatedWithALaterAttendanceIsRemoved()
        {
            // Arrange
            var attendance      = new AttendanceBuilder().Arrival(DateTime.Now).Departure(DateTime.Now.AddHours(Randomiser.Int(1, 24))).Build();
            var laterAttendance = new AttendanceBuilder().Arrival(DateTime.Now.AddHours(Randomiser.Int(60))).Build();
            var happening       = new EventBuilder().AddAttendance(attendance).AddAttendance(laterAttendance).Build();

            // Act
            happening.RemoveAttendance(laterAttendance.User);

            // Assert
            Assert.AreEqual(attendance.Arrival, happening.Start);
        }
Example #6
0
        public void CallingAddAttendanceAddsTheCorrectAttendanceWhenTheAttandanceDoesNotExist()
        {
            // Arrange
            var user       = new UserBuilder().Build();
            var attendance = new AttendanceBuilder().Build();
            var happening  = new EventBuilder().AddAttendance(attendance).Build();

            // Act
            happening.AddAttendance(new AttendanceBuilder().User(user).Build());

            // Assert
            Assert.AreEqual(2, happening.Attendances.Count);
            Assert.IsNotNull(happening.Attendances.FirstOrDefault(a => a.User.Username == user.Username));
        }
Example #7
0
        public void TheEventStartDateIsUpdatedWithAnEarlierAttendanceIsAdded()
        {
            // Arrange

            var attendance        = new AttendanceBuilder().Arrival(DateTime.Now).Build();
            var earlierAttendance = new AttendanceBuilder().Arrival(DateTime.Now.AddHours(-Randomiser.Int(60))).Build();
            var happening         = new EventBuilder().AddAttendance(attendance).Build();

            // Act
            happening.AddAttendance(earlierAttendance);

            // Assert
            Assert.AreEqual(earlierAttendance.Arrival, happening.Start);
        }
Example #8
0
        public void TheEventEndDateIsUpdatedWithALaterAttendanceIsAdded()
        {
            // Arrange
            var user              = new UserBuilder().Build();
            var attendance        = new AttendanceBuilder().User(user).Arrival(DateTime.Now).Build();
            var happening         = new EventBuilder().AddAttendance(attendance).Build();
            var earlierAttendance = new AttendanceBuilder().User(user).Arrival(DateTime.Now.AddHours(-Randomiser.Int(60))).Build();

            // Act
            happening.AddAttendance(earlierAttendance);

            // Assert
            Assert.AreEqual(earlierAttendance.Departure, happening.End);
        }
Example #9
0
        public void CallingAddAttendanceTwiceByUsernameOnlyAddsTheAttendanceOnceAndUpdatesTheArrivalAndDeparture()
        {
            // Arrange
            var user       = new UserBuilder().Build();
            var arrival1   = DateTime.Now;
            var departure1 = arrival1.AddMinutes(20);
            var arrival2   = arrival1.AddMinutes(Randomiser.Int(10));
            var departure2 = arrival2.AddMinutes(Randomiser.Int(10, 60));
            var attendance = new AttendanceBuilder().User(user).Arrival(arrival1).Departure(departure1).Build();

            // Act
            var happening = new EventBuilder().AddAttendance(attendance).Build();

            happening.AddAttendance(new AttendanceBuilder().User(new UserBuilder().Username(user.Username).Build()).Arrival(arrival2).Departure(departure2).Build());

            // Assert
            Assert.AreEqual(1, happening.Attendances.Count);
            Assert.AreEqual(arrival2, happening.Start);
            Assert.AreEqual(departure2, happening.End);
        }