public void GivenRole_BuildsWithRole()
            {
                // Arrange
                var builder = new InsertUserCommandBuilder();

                // Act
                var result = builder.WithRole(UserRole.Standard);
                var build  = builder.Build();

                // Assert
                Assert.Multiple(() =>
                {
                    Assert.That(result, Is.EqualTo(builder));
                    CollectionAssert.Contains(build.Roles, UserRole.Standard);
                });
            }
            public void GivenUserName_BuildsWithUserName()
            {
                // Arrange
                var          builder  = new InsertUserCommandBuilder();
                const string userName = "******";

                // Act
                var result = builder.WithUserName(userName);
                var build  = builder.Build();

                // Assert
                Assert.Multiple(() =>
                {
                    Assert.That(result, Is.EqualTo(builder));
                    Assert.That(build.UserName, Is.EqualTo(userName));
                });
            }
            public void GivenPassword_BuildsWithEmailAddress()
            {
                // Arrange
                var          builder  = new InsertUserCommandBuilder();
                const string password = "******";

                // Act
                var result = builder.WithPassword(password);
                var build  = builder.Build();

                // Assert
                Assert.Multiple(() =>
                {
                    Assert.That(result, Is.EqualTo(builder));
                    Assert.That(build.Password, Is.EqualTo(password));
                });
            }
            public void GivenEmailAddress_BuildsWithEmailAddress()
            {
                // Arrange
                var          builder      = new InsertUserCommandBuilder();
                const string emailAddress = "*****@*****.**";

                // Act
                var result = builder.WithEmailAddress(emailAddress);
                var build  = builder.Build();

                // Assert
                Assert.Multiple(() =>
                {
                    Assert.That(result, Is.EqualTo(builder));
                    Assert.That(build.EmailAddress, Is.EqualTo(emailAddress));
                });
            }
            public void GivenId_BuildsWithId()
            {
                // Arrange
                var builder = new InsertUserCommandBuilder();
                var id      = Guid.NewGuid();

                // Act
                var result = builder.WithId(id);
                var build  = builder.Build();

                // Assert
                Assert.Multiple(() =>
                {
                    Assert.That(result, Is.EqualTo(builder));
                    Assert.That(build.Id, Is.EqualTo(id));
                });
            }