Skip to content

Commit

Permalink
Migrated to file-scoped namespaces
Browse files Browse the repository at this point in the history
  • Loading branch information
oskardudycz committed Nov 17, 2021
1 parent 4dcb1d6 commit 3c9782d
Show file tree
Hide file tree
Showing 495 changed files with 15,710 additions and 16,578 deletions.
157 changes: 78 additions & 79 deletions CQRS.Tests/Commands/Commands.cs
Original file line number Diff line number Diff line change
Expand Up @@ -6,119 +6,118 @@
using SharpTestsEx;
using Xunit;

namespace CQRS.Tests.Commands
namespace CQRS.Tests.Commands;

public class Commands
{
public class Commands
public interface ICommand: IRequest
{ }

public interface ICommandHandler<in T>: IRequestHandler<T> where T : ICommand
{ }

public interface ICommandBus
{
public interface ICommand: IRequest
{ }
Task Send(ICommand command);
}

public interface ICommandHandler<in T>: IRequestHandler<T> where T : ICommand
{ }
public class CommandBus: ICommandBus
{
private readonly IMediator mediator;

public interface ICommandBus
public CommandBus(IMediator mediator)
{
Task Send(ICommand command);
this.mediator = mediator;
}

public class CommandBus: ICommandBus
public Task Send(ICommand command)
{
private readonly IMediator mediator;
return mediator.Send(command);
}
}

public CommandBus(IMediator mediator)
{
this.mediator = mediator;
}
public class CreateIssueCommand: ICommand
{
public string Name { get; }

public Task Send(ICommand command)
{
return mediator.Send(command);
}
public CreateIssueCommand(string name)
{
Name = name;
}
}

public class CreateIssueCommand: ICommand
{
public string Name { get; }
public interface IIssueApplicationService
{
Task CreateIssue(CreateIssueCommand command);
}

public CreateIssueCommand(string name)
{
Name = name;
}
}
public class IssueApplicationService: IIssueApplicationService
{
private readonly ICommandBus commandBus;

public interface IIssueApplicationService
public IssueApplicationService(ICommandBus commandBus)
{
Task CreateIssue(CreateIssueCommand command);
this.commandBus = commandBus;
}

public class IssueApplicationService: IIssueApplicationService
public Task CreateIssue(CreateIssueCommand command)
{
private readonly ICommandBus commandBus;
return commandBus.Send(command);
}
}

public IssueApplicationService(ICommandBus commandBus)
{
this.commandBus = commandBus;
}
public interface IAppWrtiteModel
{
IList<string> Issues { get; }
}

public Task CreateIssue(CreateIssueCommand command)
{
return commandBus.Send(command);
}
}
public class AppWriteModel: IAppWrtiteModel
{
public IList<string> Issues { get; }

public interface IAppWrtiteModel
public AppWriteModel(params string[] issues)
{
IList<string> Issues { get; }
Issues = new List<string>();
}
}

public class AppWriteModel: IAppWrtiteModel
{
public IList<string> Issues { get; }
public class CreateIssueCommandHandler: ICommandHandler<CreateIssueCommand>
{
private readonly IAppWrtiteModel writeModel;

public AppWriteModel(params string[] issues)
{
Issues = new List<string>();
}
public CreateIssueCommandHandler(IAppWrtiteModel writeModel)
{
this.writeModel = writeModel;
}

public class CreateIssueCommandHandler: ICommandHandler<CreateIssueCommand>
public Task<Unit> Handle(CreateIssueCommand message, CancellationToken cancellationToken = default)
{
private readonly IAppWrtiteModel writeModel;

public CreateIssueCommandHandler(IAppWrtiteModel writeModel)
{
this.writeModel = writeModel;
}

public Task<Unit> Handle(CreateIssueCommand message, CancellationToken cancellationToken = default)
{
writeModel.Issues.Add(message.Name);
return Unit.Task;
}
writeModel.Issues.Add(message.Name);
return Unit.Task;
}
}

[Fact]
public void GivenCommandWithData_WhenCommandIsSendToApplicationService_ThenWriteModelIsChanged()
{
var serviceLocator = new ServiceLocator();
[Fact]
public void GivenCommandWithData_WhenCommandIsSendToApplicationService_ThenWriteModelIsChanged()
{
var serviceLocator = new ServiceLocator();

var writeModel = new AppWriteModel();
var commandHandler = new CreateIssueCommandHandler(writeModel);
serviceLocator.RegisterCommandHandler<CreateIssueCommand, CreateIssueCommandHandler>(commandHandler);
var writeModel = new AppWriteModel();
var commandHandler = new CreateIssueCommandHandler(writeModel);
serviceLocator.RegisterCommandHandler<CreateIssueCommand, CreateIssueCommandHandler>(commandHandler);

var applicationService = new IssueApplicationService(new CommandBus(serviceLocator.GetMediator()));
var applicationService = new IssueApplicationService(new CommandBus(serviceLocator.GetMediator()));

//Given
var createdIssueName = "cleaning";
//Given
var createdIssueName = "cleaning";

var command = new CreateIssueCommand(createdIssueName);
var command = new CreateIssueCommand(createdIssueName);

//When
applicationService.CreateIssue(command);
//When
applicationService.CreateIssue(command);

//Then
writeModel.Issues.Should().Have.Count.EqualTo(1);
writeModel.Issues.Should().Have.SameValuesAs(createdIssueName);
}
//Then
writeModel.Issues.Should().Have.Count.EqualTo(1);
writeModel.Issues.Should().Have.SameValuesAs(createdIssueName);
}
}
}
Loading

0 comments on commit 3c9782d

Please sign in to comment.