public async Task GetPackageByTrackingCode_WithValidTrackingCode_ReturnsPackageSuccessfully() { //Arrange var trackingCode = _fixture.Create <string>(); var expectedResult = new Package( Guid.NewGuid(), Shared.Enums.PackageSize.M, 100, false, 200, trackingCode, _fixture.Create <Shipment>(), null, DateTime.UtcNow, null); _mockPackageRepository .Setup(exec => exec.GetPackageByTrackingCode( It.IsAny <string>())) .ReturnsAsync(expectedResult); //Act var response = await _packagesController .GetPackageByTrackingCode(trackingCode) as OkObjectResult; //Assert _mockPackageRepository .Verify(exec => exec.GetPackageByTrackingCode( It.IsAny <string>()), Times.Once); var packageResult = response.Value as PackageResult; response.StatusCode .Should() .Be((int)HttpStatusCode.OK); packageResult.TrackingCode .Should() .Be(expectedResult.TrackingCode); }