public async Task ShouldRetrieveSemesterCourseByIdAsync() { // given Guid randomSemesterCourseId = Guid.NewGuid(); Guid inputSemesterCourseId = randomSemesterCourseId; DateTimeOffset randomDateTime = GetRandomDateTime(); SemesterCourse randomSemesterCourse = CreateRandomSemesterCourse(randomDateTime); SemesterCourse storageSemesterCourse = randomSemesterCourse; SemesterCourse expectedSemesterCourse = storageSemesterCourse; this.storageBrokerMock.Setup(broker => broker.SelectSemesterCourseByIdAsync(inputSemesterCourseId)) .ReturnsAsync(storageSemesterCourse); // when SemesterCourse actualSemesterCourse = await this.semesterCourseService.RetrieveSemesterCourseByIdAsync(inputSemesterCourseId); // then actualSemesterCourse.Should().BeEquivalentTo(expectedSemesterCourse); this.dateTimeBrokerMock.Verify(broker => broker.GetCurrentDateTime(), Times.Never); this.storageBrokerMock.Verify(broker => broker.SelectSemesterCourseByIdAsync(inputSemesterCourseId), Times.Once); this.dateTimeBrokerMock.VerifyNoOtherCalls(); this.storageBrokerMock.VerifyNoOtherCalls(); this.storageBrokerMock.VerifyNoOtherCalls(); }
public async Task ShouldGetAllSemesterCoursesAsync() { // given List <SemesterCourse> randomSemesterCourses = new List <SemesterCourse>(); for (int i = 0; i <= GetRandomNumber(); i++) { randomSemesterCourses.Add(await PostRandomSemesterCourseAsync()); } List <SemesterCourse> inputSemesterCourses = randomSemesterCourses.ToList(); List <SemesterCourse> expectedSemesterCourses = inputSemesterCourses.ToList(); // when List <SemesterCourse> actualSemesterCourses = await this.otripleSApiBroker.GetAllSemesterCoursesAsync(); // then foreach (SemesterCourse expectedSemesterCourse in expectedSemesterCourses) { SemesterCourse actualSemesterCourse = actualSemesterCourses.Single(semesterCourse => semesterCourse.Id == expectedSemesterCourse.Id); SemesterCourse expectedReturnedCourse = CreateExpectedSemesterCourse(expectedSemesterCourse); actualSemesterCourse.Should().BeEquivalentTo(expectedReturnedCourse); await DeleteSemesterCourseAsync(actualSemesterCourse); } }
public async Task ShouldGetAllSemesterCoursesAsync() { // given IEnumerable <SemesterCourse> randomSemesterCourses = CreateRandomSemesterCourses(); List <SemesterCourse> inputSemesterCourses = randomSemesterCourses.ToList(); foreach (SemesterCourse semesterCourse in inputSemesterCourses) { await this.otripleSApiBroker.PostSemesterCourseAsync(semesterCourse); } List <SemesterCourse> expectedSemesterCourses = inputSemesterCourses.ToList(); // when List <SemesterCourse> actualSemesterCourses = await this.otripleSApiBroker.GetAllSemesterCoursesAsync(); // then foreach (SemesterCourse expectedSemesterCourse in expectedSemesterCourses) { SemesterCourse actualSemesterCourse = actualSemesterCourses.Single(semesterCourse => semesterCourse.Id == expectedSemesterCourse.Id); SemesterCourse expectedReturnedCourse = CreateExpectedSemesterCourse(expectedSemesterCourse); actualSemesterCourse.Should().BeEquivalentTo(expectedReturnedCourse); await this.otripleSApiBroker.DeleteSemesterCourseByIdAsync(actualSemesterCourse.Id); } }
public async Task ShouldModifySemesterCourseAsync() { // given int randomNumber = GetRandomNumber(); int randomDays = randomNumber; DateTimeOffset randomDate = GetRandomDateTime(); DateTimeOffset randomInputDate = GetRandomDateTime(); SemesterCourse randomSemesterCourse = CreateRandomSemesterCourse(randomInputDate); SemesterCourse inputSemesterCourse = randomSemesterCourse; SemesterCourse afterUpdateStorageSemesterCourse = inputSemesterCourse; SemesterCourse expectedSemesterCourse = afterUpdateStorageSemesterCourse; SemesterCourse beforeUpdateStorageSemesterCourse = randomSemesterCourse.DeepClone(); inputSemesterCourse.UpdatedDate = randomDate; Guid semesterCourseId = inputSemesterCourse.Id; this.dateTimeBrokerMock.Setup(broker => broker.GetCurrentDateTime()) .Returns(randomDate); this.storageBrokerMock.Setup(broker => broker.SelectSemesterCourseByIdAsync(semesterCourseId)) .ReturnsAsync(beforeUpdateStorageSemesterCourse); this.storageBrokerMock.Setup(broker => broker.UpdateSemesterCourseAsync(inputSemesterCourse)) .ReturnsAsync(afterUpdateStorageSemesterCourse); // when SemesterCourse actualSemesterCourse = await this.semesterCourseService.ModifySemesterCourseAsync(inputSemesterCourse); // then actualSemesterCourse.Should().BeEquivalentTo(expectedSemesterCourse); this.dateTimeBrokerMock.Verify(broker => broker.GetCurrentDateTime(), Times.Once); this.storageBrokerMock.Verify(broker => broker.SelectSemesterCourseByIdAsync(semesterCourseId), Times.Once); this.storageBrokerMock.Verify(broker => broker.UpdateSemesterCourseAsync(inputSemesterCourse), Times.Once); this.storageBrokerMock.VerifyNoOtherCalls(); this.loggingBrokerMock.VerifyNoOtherCalls(); this.dateTimeBrokerMock.VerifyNoOtherCalls(); }
public async Task ShouldPutSemesterCourseAsync() { // given SemesterCourse randomSemesterCourse = await PostRandomSemesterCourseAsync(); SemesterCourse modifiedSemesterCourse = UpdateSemesterCourseRandom(randomSemesterCourse); // when await this.otripleSApiBroker.PutSemesterCourseAsync(modifiedSemesterCourse); SemesterCourse expectedSemesterCourse = CreateExpectedSemesterCourse(modifiedSemesterCourse); SemesterCourse actualSemesterCourse = await this.otripleSApiBroker.GetSemesterCourseByIdAsync(randomSemesterCourse.Id); // then actualSemesterCourse.Should().BeEquivalentTo(expectedSemesterCourse); await DeleteSemesterCourseAsync(actualSemesterCourse); }
public async Task ShouldPostSemesterCourseAsync() { // given SemesterCourse randomSemesterCourse = CreateRandomSemesterCourse(); SemesterCourse inputSemesterCourse = randomSemesterCourse; SemesterCourse expectedSemesterCourse = CreateExpectedSemesterCourse(inputSemesterCourse); // when await this.otripleSApiBroker.PostSemesterCourseAsync(inputSemesterCourse); SemesterCourse actualSemesterCourse = await this.otripleSApiBroker.GetSemesterCourseByIdAsync(inputSemesterCourse.Id); // then actualSemesterCourse.Should().BeEquivalentTo(expectedSemesterCourse); await this.otripleSApiBroker.DeleteSemesterCourseByIdAsync(actualSemesterCourse.Id); }
public async Task ShouldGetAllSemesterCoursesAsync() { // given Teacher randomTeacher = await PostTeacherAsync(); Classroom randomClassroom = await PostClassRoomAsync(); Course randomCourse = await PostCourseAsync(); List <SemesterCourse> randomSemesterCourses = new List <SemesterCourse>(); for (int i = 0; i <= GetRandomNumber(); i++) { randomSemesterCourses.Add( await CreateRandomSemesterCourseAsync(randomTeacher, randomClassroom, randomCourse)); } List <SemesterCourse> inputSemesterCourses = randomSemesterCourses.ToList(); List <SemesterCourse> expectedSemesterCourses = inputSemesterCourses.ToList(); // when List <SemesterCourse> actualSemesterCourses = await this.otripleSApiBroker.GetAllSemesterCoursesAsync(); // then foreach (SemesterCourse expectedSemesterCourse in expectedSemesterCourses) { SemesterCourse actualSemesterCourse = actualSemesterCourses.Single(semesterCourse => semesterCourse.Id == expectedSemesterCourse.Id); SemesterCourse expectedReturnedCourse = CreateExpectedSemesterCourse(expectedSemesterCourse); actualSemesterCourse.Should().BeEquivalentTo(expectedReturnedCourse); await this.otripleSApiBroker.DeleteSemesterCourseByIdAsync(actualSemesterCourse.Id); } await this.otripleSApiBroker.DeleteCourseByIdAsync(randomCourse.Id); await this.otripleSApiBroker.DeleteClassroomByIdAsync(randomClassroom.Id); await this.otripleSApiBroker.DeleteTeacherByIdAsync(randomTeacher.Id); }
public async Task ShouldDeleteSemesterCourseAsync() { // given SemesterCourse randomSemesterCourse = await PostRandomSemesterCourseAsync(); SemesterCourse inputSemesterCourse = randomSemesterCourse; SemesterCourse expectedSemesterCourse = inputSemesterCourse; // when SemesterCourse deletedSemesterCourse = await DeleteSemesterCourseAsync(inputSemesterCourse); ValueTask <SemesterCourse> getSemesterCourseByIdTask = this.otripleSApiBroker.GetSemesterCourseByIdAsync(inputSemesterCourse.Id); // then deletedSemesterCourse.Should().BeEquivalentTo(expectedSemesterCourse); await Assert.ThrowsAsync <HttpResponseNotFoundException>(() => getSemesterCourseByIdTask.AsTask()); }
public async Task ShouldCreateSemesterCourseAsync() { // given DateTimeOffset randomDateTime = GetRandomDateTime(); DateTimeOffset dateTime = randomDateTime; SemesterCourse randomSemesterCourse = CreateRandomSemesterCourse(randomDateTime); randomSemesterCourse.UpdatedBy = randomSemesterCourse.CreatedBy; randomSemesterCourse.UpdatedDate = randomSemesterCourse.CreatedDate; SemesterCourse inputSemesterCourse = randomSemesterCourse; SemesterCourse storageSemesterCourse = randomSemesterCourse; SemesterCourse expectedSemesterCourse = storageSemesterCourse; this.dateTimeBrokerMock.Setup(broker => broker.GetCurrentDateTime()) .Returns(dateTime); this.storageBrokerMock.Setup(broker => broker.InsertSemesterCourseAsync(inputSemesterCourse)) .ReturnsAsync(storageSemesterCourse); // when SemesterCourse actualSemesterCourse = await this.semesterCourseService.CreateSemesterCourseAsync(inputSemesterCourse); // then actualSemesterCourse.Should().BeEquivalentTo(expectedSemesterCourse); this.dateTimeBrokerMock.Verify(broker => broker.GetCurrentDateTime(), Times.Once); this.storageBrokerMock.Verify(broker => broker.InsertSemesterCourseAsync(inputSemesterCourse), Times.Once); this.dateTimeBrokerMock.VerifyNoOtherCalls(); this.storageBrokerMock.VerifyNoOtherCalls(); this.storageBrokerMock.VerifyNoOtherCalls(); }
public async Task ShouldDeleteSemesterCourseAsync() { // given DateTimeOffset dateTime = GetRandomDateTime(); SemesterCourse randomSemesterCourse = CreateRandomSemesterCourse(dateTime); Guid inputSemesterCourseId = randomSemesterCourse.Id; SemesterCourse inputSemesterCourse = randomSemesterCourse; SemesterCourse storageSemesterCourse = inputSemesterCourse; SemesterCourse expectedSemesterCourse = storageSemesterCourse; this.storageBrokerMock.Setup(broker => broker.SelectSemesterCourseByIdAsync(inputSemesterCourseId)) .ReturnsAsync(inputSemesterCourse); this.storageBrokerMock.Setup(broker => broker.DeleteSemesterCourseAsync(inputSemesterCourse)) .ReturnsAsync(storageSemesterCourse); // when SemesterCourse actualSemesterCourse = await this.semesterCourseService.DeleteSemesterCourseAsync(inputSemesterCourseId); //then actualSemesterCourse.Should().BeEquivalentTo(expectedSemesterCourse); this.storageBrokerMock.Verify(broker => broker.SelectSemesterCourseByIdAsync(inputSemesterCourseId), Times.Once); this.storageBrokerMock.Verify(broker => broker.DeleteSemesterCourseAsync(inputSemesterCourse), Times.Once); this.storageBrokerMock.VerifyNoOtherCalls(); this.loggingBrokerMock.VerifyNoOtherCalls(); this.dateTimeBrokerMock.VerifyNoOtherCalls(); }