-
Notifications
You must be signed in to change notification settings - Fork 169
Open
Labels
Description
There are two issues in our tests:
Issue # 1:
The dependencies are verified twice like this:
[Fact]
public async Task ShouldRetrieveCalendarByIdAsync()
{
// given
Guid randomCalendarId = Guid.NewGuid();
Guid inputCalendarId = randomCalendarId;
DateTimeOffset randomDateTime = GetRandomDateTime();
Calendar randomCalendar = CreateRandomCalendar(randomDateTime);
Calendar storageCalendar = randomCalendar;
Calendar expectedCalendar = storageCalendar;
this.storageBrokerMock.Setup(broker =>
broker.SelectCalendarByIdAsync(inputCalendarId))
.ReturnsAsync(storageCalendar);
// when
Calendar actualCalendar =
await this.calendarService.RetrieveCalendarByIdAsync(inputCalendarId);
// then
actualCalendar.Should().BeEquivalentTo(expectedCalendar);
this.dateTimeBrokerMock.Verify(broker =>
broker.GetCurrentDateTime(),
Times.Never);
this.storageBrokerMock.Verify(broker =>
broker.SelectCalendarByIdAsync(inputCalendarId),
Times.Once);
this.dateTimeBrokerMock.VerifyNoOtherCalls();
this.storageBrokerMock.VerifyNoOtherCalls();
this.storageBrokerMock.VerifyNoOtherCalls();
}The solution in this case is the last three lines should be as follows:
this.dateTimeBrokerMock.VerifyNoOtherCalls();
this.storageBrokerMock.VerifyNoOtherCalls();
this.dateTimeBroker.VerifyNoOtherCalls();Issue # 2:
The dependencies are not verified at all:
[Fact]
public void ShouldRetrieveAllCalendars()
{
// given
IQueryable<Calendar> randomCalendars = CreateRandomCalendars();
IQueryable<Calendar> storageCalendars = randomCalendars;
IQueryable<Calendar> expectedCalendars = storageCalendars;
this.storageBrokerMock.Setup(broker =>
broker.SelectAllCalendars())
.Returns(storageCalendars);
// when
IQueryable<Calendar> actualCalendars =
this.calendarService.RetrieveAllCalendars();
// then
actualCalendars.Should().BeEquivalentTo(expectedCalendars);
this.storageBrokerMock.Verify(broker =>
broker.SelectAllCalendars(),
Times.Once);
this.storageBrokerMock.VerifyNoOtherCalls();
this.loggingBrokerMock.VerifyNoOtherCalls();
}The solution for this one would be as follows:
this.dateTimeBrokerMock.VerifyNoOtherCalls();
this.storageBrokerMock.VerifyNoOtherCalls();
this.dateTimeBroker.VerifyNoOtherCalls();This issue is assigned to @Bbereket1