public void After_submitting_recruitment_form_candidate_can_be_invited_to_training() { // Arrange var id = EnrollmentAggregate.EnrollmentId.New; var selectedTraining = BuildScheduledTraining(1, CreateOffsetDateTimeDaysInTheFuture(14), CreateOffsetDateTimeDaysInTheFuture(15)); selectedTraining.Campaign = new Campaign(CreateOffsetDateTimeDaysInTheFuture(-7), CreateOffsetDateTimeDaysInTheFuture(+7), 1, "kampania testowa"); selectedTraining.Campaign.GetType().GetProperty(nameof(selectedTraining.Campaign.Id)).SetValue(selectedTraining.Campaign, 1); var now = NodaTime.SystemClock.Instance.GetCurrentInstant(); var enrollment = new EnrollmentAggregate(id); // Act var result = enrollment.SubmitRecruitmentForm(new SubmitRecruitmentForm.Command() { FirstName = "Andrzej", LastName = "Strzelba", Email = EmailAddress.Parse("*****@*****.**"), PhoneNumber = Consts.FakePhoneNumber, AboutMe = "ala ma kota", Region = "Wolne Miasto Gdańsk", PreferredLecturingCities = new[] { "Wadowice" }, PreferredTrainingIds = new[] { 1 }, GdprConsentGiven = true }, new[] { selectedTraining }, now); // Assert Assert.True(result.IsSuccess); Assert.True(enrollment.CanAcceptTrainingInvitation(new[] { selectedTraining }, now).IsSuccess); }