mirror of
https://github.com/bitwarden/server.git
synced 2024-11-22 12:15:36 +01:00
0f3fcc122d
Following the paradigms illustrated in "Working Effectively with Legacy Code", this commit introduces at least one test for each service class implementation. This test is a simple construction test -- we just create each service and assert that it exists. Each test suite includes a comment instructing the developer who comes next to remove the constructor test. We don't want to keep these tests as the codebase matures, as they aren't useful in the longterm. They only prove that we have that class under test. Where test suites failed to construct their associated classes, we skip the test but leave behind the implementation. This is by design, so that as the constructors for those classes change, we are forced to keep the test suite current by leaning on the compiler.
40 lines
1.1 KiB
C#
40 lines
1.1 KiB
C#
using System;
|
|
using Bit.Core.Repositories;
|
|
using Bit.Core.Services;
|
|
using Microsoft.Extensions.Logging;
|
|
using NSubstitute;
|
|
using Xunit;
|
|
|
|
namespace Bit.Core.Test.Services
|
|
{
|
|
public class StripePaymentServiceTests
|
|
{
|
|
private readonly StripePaymentService _sut;
|
|
|
|
private readonly ITransactionRepository _transactionRepository;
|
|
private readonly GlobalSettings _globalSettings;
|
|
private readonly ILogger<StripePaymentService> _logger;
|
|
|
|
public StripePaymentServiceTests()
|
|
{
|
|
_transactionRepository = Substitute.For<ITransactionRepository>();
|
|
_globalSettings = new GlobalSettings();
|
|
_logger = Substitute.For<ILogger<StripePaymentService>>();
|
|
|
|
_sut = new StripePaymentService(
|
|
_transactionRepository,
|
|
_globalSettings,
|
|
_logger
|
|
);
|
|
}
|
|
|
|
// Remove this test when we add actual tests. It only proves that
|
|
// we've properly constructed the system under test.
|
|
[Fact]
|
|
public void ServiceExists()
|
|
{
|
|
Assert.NotNull(_sut);
|
|
}
|
|
}
|
|
}
|