diff --git a/src/Tests/UnitTestsEntities/ActivityEntityTests.cs b/src/Tests/UnitTestsEntities/ActivityEntityTests.cs index ed9c7f0..f505bd7 100644 --- a/src/Tests/UnitTestsEntities/ActivityEntityTests.cs +++ b/src/Tests/UnitTestsEntities/ActivityEntityTests.cs @@ -134,5 +134,90 @@ public class ActivityEntityTests (DatabaseFixture fixture) : IClassFixture a.Type == "Running" && a.Date == new DateOnly(2024, 3, 15)); + Assert.NotNull(savedActivity); + Assert.Equal("Running", savedActivity.Type); + Assert.Equal(new DateOnly(2024, 3, 15), savedActivity.Date); + Assert.Equal(new TimeOnly(9, 0), savedActivity.StartTime); + Assert.Equal(new TimeOnly(10, 0), savedActivity.EndTime); + Assert.Equal(7, savedActivity.EffortFelt); + Assert.Equal(0.5f, savedActivity.Variability); + Assert.Equal(0.2f, savedActivity.Variance); + Assert.Equal(0.3f, savedActivity.StandardDeviation); + Assert.Equal(0.4f, savedActivity.Average); + Assert.Equal(200, savedActivity.Maximum); + Assert.Equal(100, savedActivity.Minimum); + Assert.Equal(25.5f, savedActivity.AverageTemperature); + Assert.True(savedActivity.HasAutoPause); + Assert.Equal(1, savedActivity.DataSourceId); + Assert.Equal(1, savedActivity.AthleteId); + } + } + + // Test for error cases, e.g., null values + [Fact] + public void Add_Activity_With_Null_Values_Fails() + { + var activity = new ActivityEntity + { + Type = null, + Date = default, + StartTime = default, + EndTime = default, + EffortFelt = 0, + Variability = 0, + Variance = 0, + StandardDeviation = 0, + Average = 0, + Maximum = 0, + Minimum = 0, + AverageTemperature = 0, + HasAutoPause = false, + DataSourceId = 0, + AthleteId = 0 + }; + + using (var context = new TrainingStubbedContext(fixture._options)) + { + context.Database.EnsureCreated(); + context.ActivitiesSet.Add(activity); + Assert.Throws(() => context.SaveChanges()); + } + } } diff --git a/src/Tests/UnitTestsEntities/AthleteEntityTests.cs b/src/Tests/UnitTestsEntities/AthleteEntityTests.cs index 10193dc..701f27b 100644 --- a/src/Tests/UnitTestsEntities/AthleteEntityTests.cs +++ b/src/Tests/UnitTestsEntities/AthleteEntityTests.cs @@ -117,5 +117,71 @@ public class AthleteEntityTests (DatabaseFixture fixture) : IClassFixture a.Username == "john_doe"); + Assert.NotNull(savedAthlete); + Assert.Equal("john_doe", savedAthlete.Username); + Assert.Equal("Doe", savedAthlete.LastName); + Assert.Equal("John", savedAthlete.FirstName); + Assert.Equal("john.doe@example.com", savedAthlete.Email); + Assert.Equal("M", savedAthlete.Sexe); + Assert.Equal(180.0, savedAthlete.Length); + Assert.Equal(75.5f, savedAthlete.Weight); + Assert.Equal("password", savedAthlete.Password); + Assert.Equal(new DateOnly(1990, 1, 1), savedAthlete.DateOfBirth); + Assert.False(savedAthlete.IsCoach); + } + } + + [Fact] + public void Add_Athlete_With_Null_Values_Fails() + { + var athlete = new AthleteEntity + { + Username = null, + LastName = null, + FirstName = null, + Email = null, + Sexe = null, + Length = 0, + Weight = 0, + Password = null, + DateOfBirth = default, + IsCoach = false + }; + + using (var context = new TrainingStubbedContext(fixture._options)) + { + context.Database.EnsureCreated(); + context.AthletesSet.Add(athlete); + Assert.Throws(() => context.SaveChanges()); + } + } } diff --git a/src/Tests/UnitTestsEntities/DataSourceEntityTests.cs b/src/Tests/UnitTestsEntities/DataSourceEntityTests.cs index 1e0d1e0..925242c 100644 --- a/src/Tests/UnitTestsEntities/DataSourceEntityTests.cs +++ b/src/Tests/UnitTestsEntities/DataSourceEntityTests.cs @@ -95,5 +95,50 @@ public class DataSourceEntityTests (DatabaseFixture fixture) : IClassFixture d.Type == "GPS"); + Assert.NotNull(savedDataSource); + Assert.Equal("GPS", savedDataSource.Type); + Assert.Equal("Garmin Forerunner 945", savedDataSource.Model); + Assert.Equal(0.1f, savedDataSource.Precision); + } + } + + [Fact] + public void Add_DataSource_With_Null_Values_Fails() + { + var dataSource = new DataSourceEntity + { + Type = null, + Model = null, + Precision = 0 + }; + + using (var context = new TrainingStubbedContext(fixture._options)) + { + context.Database.EnsureCreated(); + context.DataSourcesSet.Add(dataSource); + Assert.Throws(() => context.SaveChanges()); + } + } } diff --git a/src/Tests/UnitTestsEntities/HeartRateEntityTests.cs b/src/Tests/UnitTestsEntities/HeartRateEntityTests.cs index 377d960..baeabc1 100644 --- a/src/Tests/UnitTestsEntities/HeartRateEntityTests.cs +++ b/src/Tests/UnitTestsEntities/HeartRateEntityTests.cs @@ -169,5 +169,62 @@ public class HeartRateEntityTests (DatabaseFixture fixture) : IClassFixture h.Altitude == 100.0 && h.Temperature == 20.0f); + Assert.NotNull(savedHeartRate); + Assert.Equal(100.0, savedHeartRate.Altitude); + Assert.Equal(new TimeOnly(9, 30), savedHeartRate.Time); + Assert.Equal(20.0f, savedHeartRate.Temperature); + Assert.Equal(150, savedHeartRate.Bpm); + Assert.Equal(45.12345f, savedHeartRate.Longitude); + Assert.Equal(35.6789f, savedHeartRate.Latitude); + } + } } diff --git a/src/Tests/UnitTestsEntities/NotificationEntityTests.cs b/src/Tests/UnitTestsEntities/NotificationEntityTests.cs index 1fbc3a6..9858911 100644 --- a/src/Tests/UnitTestsEntities/NotificationEntityTests.cs +++ b/src/Tests/UnitTestsEntities/NotificationEntityTests.cs @@ -145,5 +145,70 @@ public class NotificationEntityTests (DatabaseFixture fixture) : IClassFixture n.Message == "Test notification" && n.Statut == false && n.Urgence == "High"); + Assert.NotNull(savedNotification); + Assert.Equal("Test notification", savedNotification.Message); + Assert.Equal(DateTime.Today, savedNotification.Date.Date); + Assert.False(savedNotification.Statut); + Assert.Equal("High", savedNotification.Urgence); + } + } + + [Fact] + public void Add_Notification_With_Null_Values_Fails() + { + var notification = new NotificationEntity + { + Message = null, + Date = default, + Statut = false, + Urgence = null, + Sender = null + }; + + using (var context = new TrainingStubbedContext(fixture._options)) + { + context.Database.EnsureCreated(); + context.NotificationsSet.Add(notification); + Assert.Throws(() => context.SaveChanges()); + } + } } diff --git a/src/Tests/UnitTestsEntities/StatisticEntityTests.cs b/src/Tests/UnitTestsEntities/StatisticEntityTests.cs index d466d34..7c1c878 100644 --- a/src/Tests/UnitTestsEntities/StatisticEntityTests.cs +++ b/src/Tests/UnitTestsEntities/StatisticEntityTests.cs @@ -148,5 +148,55 @@ public class StatisticEntityTests (DatabaseFixture fixture) : IClassFixture s.AverageHeartRate == 150.0 && s.MaximumHeartRate == 180.0); + Assert.NotNull(savedStatistic); + Assert.Equal(75.0f, savedStatistic.Weight); + Assert.Equal(150.0, savedStatistic.AverageHeartRate); + Assert.Equal(180.0, savedStatistic.MaximumHeartRate); + Assert.Equal(500.0, savedStatistic.AverageCaloriesBurned); + Assert.Equal(new DateOnly(2024, 3, 15), savedStatistic.Date); + } + } } diff --git a/src/Tests/UnitTestsEntities/TrainingEntityTests.cs b/src/Tests/UnitTestsEntities/TrainingEntityTests.cs index 7503bed..04e8589 100644 --- a/src/Tests/UnitTestsEntities/TrainingEntityTests.cs +++ b/src/Tests/UnitTestsEntities/TrainingEntityTests.cs @@ -196,4 +196,90 @@ public class TrainingEntityTests (DatabaseFixture fixture) : IClassFixture t.Description == "Training DescriptionAll" && t.FeedBack == "Training feedbackAll"); + Assert.NotNull(savedTraining); + Assert.Equal(new DateOnly(2024, 3, 15), savedTraining.Date); + Assert.Equal("Training DescriptionAll", savedTraining.Description); + Assert.Equal(40.12345f, savedTraining.Latitude); + Assert.Equal(-74.56789f, savedTraining.Longitude); + Assert.Equal("Training feedbackAll", savedTraining.FeedBack); + } + } + + [Fact] + public void Add_Training_With_Null_Values_Fails() + { + var training = new TrainingEntity + { + Date = default, + Description = null, + Latitude = 45, + Longitude = 45, + FeedBack = null, + Coach = null, + Athletes = null + }; + + using (var context = new TrainingStubbedContext(fixture._options)) + { + context.Database.EnsureCreated(); + context.TrainingsSet.Add(training); + Assert.Throws(() => context.SaveChanges()); + } + } + }