public async Task CreateAsync_SecretValidationFailed_ThrowsError()
        {
            // Arrange
            var fixture  = new Fixture();
            var secret   = new SecretUpdateModel();
            var expected = fixture.Create <string>();

            var messageGetService = new Mock <IMessageGetService>();

            messageGetService
            .Setup(x => x.ValidateAsync(secret))
            .Throws(new InvalidOperationException(expected));

            var secretDataAccess = new Mock <ISecretDataAccess>();

            var secretGetService = new SecretCreateService(secretDataAccess.Object, messageGetService.Object);

            // Act
            var action = new Func <Task>(() => secretGetService.CreateAsync(secret));

            // Assert
            await action.Should().ThrowAsync <InvalidOperationException>().WithMessage(expected);

            secretDataAccess.Verify(x => x.InsertAsync(secret), Times.Never);
        }
Esempio n. 2
0
        public async Task <DotNetProject.Secret> InsertAsync(SecretUpdateModel employee)
        {
            var result = await this.Context.AddAsync(this.Mapper.Map <Secret>(employee));

            await this.Context.SaveChangesAsync();

            return(this.Mapper.Map <Secret>(result.Entity));
        }
Esempio n. 3
0
        public async Task <Secret> UpdateAsync(SecretUpdateModel employee)
        {
            var existing = await this.Get(employee);

            var result = this.Mapper.Map(employee, existing);

            this.Context.Update(result);

            await this.Context.SaveChangesAsync();

            return(this.Mapper.Map <Secret>(result));
        }
        public async Task CreateAsync_SecretValidationSucceed_CreatesEmployee()
        {
            // Arrange
            var secret   = new SecretUpdateModel();
            var expected = new Secret();

            var messageGetService = new Mock <IMessageGetService>();

            messageGetService.Setup(x => x.ValidateAsync(secret));

            var secretDataAccess = new Mock <ISecretDataAccess>();

            secretDataAccess.Setup(x => x.InsertAsync(secret)).ReturnsAsync(expected);

            var secretGetService = new SecretCreateService(secretDataAccess.Object, messageGetService.Object);

            // Act
            var result = await secretGetService.CreateAsync(secret);

            // Assert
            result.Should().Be(expected);
        }
Esempio n. 5
0
        public async Task <Secret> CreateAsync(SecretUpdateModel secret)
        {
            await this.MessageGetService.ValidateAsync(secret);

            return(await this.SecretDataAccess.InsertAsync(secret));
        }