コード例 #1
0
        public async Task Handle_NoGroupFound_NewGroupCreatedAndReturned()
        {
            //Arrange
            var fakeAmazonIdentityManagementService = Substitute.For <IAmazonIdentityManagementService>();

            fakeAmazonIdentityManagementService
            .CreateGroupAsync(Arg.Is <CreateGroupRequest>(args => args.GroupName == "some-group-name"))
            .Returns(new CreateGroupResponse()
            {
                Group = new Group()
                {
                    GroupId = "new-group"
                }
            });

            var handler = new EnsureAmazonGroupWithNameCommandHandler(
                fakeAmazonIdentityManagementService,
                Substitute.For <IMediator>());

            //Act
            var group = await handler.Handle(new EnsureAmazonGroupWithNameCommand("some-group-name"), default);

            //Assert
            Assert.AreEqual("new-group", group.GroupId);
        }
コード例 #2
0
        public async Task Handle_ExistingGroupFound_ExistingGroupReturned()
        {
            //Arrange
            var fakeMediator = Substitute.For <IMediator>();

            fakeMediator
            .Send(Arg.Is <GetAmazonGroupByNameQuery>(args => args.Name == "some-group-name"))
            .Returns(new Group()
            {
                GroupId = "existing-group"
            });

            var handler = new EnsureAmazonGroupWithNameCommandHandler(
                Substitute.For <IAmazonIdentityManagementService>(),
                fakeMediator);

            //Act
            var group = await handler.Handle(new EnsureAmazonGroupWithNameCommand("some-group-name"), default);

            //Assert
            Assert.AreEqual("existing-group", group.GroupId);
        }