public async Task A_not_successful_result_is_being_returned()
                {
                    var credentialStorage = Substitute.For <ICredentialStorage>();

                    credentialStorage.GetCredentialsAsync().Returns(
                        Task.FromResult(
                            Result.WithSuccess(
                                new Credentials(
                                    "INVALID_USERNAME",
                                    "INVALID_PASSWORD"
                                    )
                                )
                            )
                        );

                    var sut = new CoursePageHtmlDownloader(credentialStorage);

                    var result = await sut
                                 .TryDownloadCoursePageHtmlAsync(Constants.CareTranscriptOfRecordsUrl)
                                 .ConfigureAwait(false);

                    result.IsSuccessful.ShouldBeFalse();
                }
            public async Task An_actual_Html_Document_is_being_returned_as_String()
            {
                var credentialStorage = Substitute.For <ICredentialStorage>();

                credentialStorage.GetCredentialsAsync().Returns(
                    Task.FromResult(
                        Result.WithSuccess(
                            new Credentials(
                                CareTestCredentials.UserName,
                                CareTestCredentials.Password
                                )
                            )
                        )
                    );

                var sut = new CoursePageHtmlDownloader(credentialStorage);

                var result = await sut
                             .TryDownloadCoursePageHtmlAsync(Constants.CareTranscriptOfRecordsUrl)
                             .ConfigureAwait(false);

                result.IsSuccessful.ShouldBeTrue();
                result.Value.Contains("<!DOCTYPE HTML>").ShouldBeTrue();
            }