diff --git a/app/code/Magento/CheckoutAgreements/Block/Agreements.php b/app/code/Magento/CheckoutAgreements/Block/Agreements.php
index f43827a6b58201b97f3e4ae9fd89e485093523d3..c6dbc4ac09b57ac82b3b47577512f623c59219ff 100644
--- a/app/code/Magento/CheckoutAgreements/Block/Agreements.php
+++ b/app/code/Magento/CheckoutAgreements/Block/Agreements.php
@@ -4,10 +4,10 @@
  * See COPYING.txt for license details.
  */
 
-// @codingStandardsIgnoreFile
-
 namespace Magento\CheckoutAgreements\Block;
 
+use Magento\Store\Model\ScopeInterface;
+
 class Agreements extends \Magento\Framework\View\Element\Template
 {
     /**
@@ -35,16 +35,12 @@ class Agreements extends \Magento\Framework\View\Element\Template
     public function getAgreements()
     {
         if (!$this->hasAgreements()) {
-            if (!$this->_scopeConfig->isSetFlag('checkout/options/enable_agreements', \Magento\Store\Model\ScopeInterface::SCOPE_STORE)) {
-                $agreements = [];
-            } else {
+            $agreements = [];
+            if ($this->_scopeConfig->isSetFlag('checkout/options/enable_agreements', ScopeInterface::SCOPE_STORE)) {
                 /** @var \Magento\CheckoutAgreements\Model\Resource\Agreement\Collection $agreements */
-                $agreements = $this->_agreementCollectionFactory->create()->addStoreFilter(
-                    $this->_storeManager->getStore()->getId()
-                )->addFieldToFilter(
-                    'is_active',
-                    1
-                );
+                $agreements = $this->_agreementCollectionFactory->create();
+                $agreements->addStoreFilter($this->_storeManager->getStore()->getId());
+                $agreements->addFieldToFilter('is_active', 1);
             }
             $this->setAgreements($agreements);
         }
diff --git a/app/code/Magento/CheckoutAgreements/Model/Agreement.php b/app/code/Magento/CheckoutAgreements/Model/Agreement.php
index 98b1b36b153c100955c8d7d4dd71b1196f629fcd..b29030f81248c7d3d3a46c17547f91c68e907fd6 100644
--- a/app/code/Magento/CheckoutAgreements/Model/Agreement.php
+++ b/app/code/Magento/CheckoutAgreements/Model/Agreement.php
@@ -6,7 +6,6 @@
 namespace Magento\CheckoutAgreements\Model;
 
 use Magento\CheckoutAgreements\Api\Data\AgreementInterface;
-use Magento\Framework\Model\AbstractModel;
 
 class Agreement extends \Magento\Framework\Model\AbstractExtensibleModel implements AgreementInterface
 {
diff --git a/app/code/Magento/CheckoutAgreements/Model/AgreementsConfigProvider.php b/app/code/Magento/CheckoutAgreements/Model/AgreementsConfigProvider.php
index 8a14acbb404b081fa01fb0eaf51171e06a0b77f3..64085724b8c7f01419f9dddf98db47e9f8f00b4d 100644
--- a/app/code/Magento/CheckoutAgreements/Model/AgreementsConfigProvider.php
+++ b/app/code/Magento/CheckoutAgreements/Model/AgreementsConfigProvider.php
@@ -34,8 +34,7 @@ class AgreementsConfigProvider implements ConfigProviderInterface
     {
         if ($this->scopeConfiguration->isSetFlag(AgreementsProvider::PATH_ENABLED, ScopeInterface::SCOPE_STORE)) {
             return ['checkoutAgreementsEnabled' => true];
-        } else {
-            return [];
         }
+        return [];
     }
 }
diff --git a/app/code/Magento/CheckoutAgreements/Model/AgreementsProvider.php b/app/code/Magento/CheckoutAgreements/Model/AgreementsProvider.php
index a8e88e80ff2fc4bcec1f56b9536f125e3e4f2320..43831218a53f1c1bc37be2e5cab31f94684b3b8e 100644
--- a/app/code/Magento/CheckoutAgreements/Model/AgreementsProvider.php
+++ b/app/code/Magento/CheckoutAgreements/Model/AgreementsProvider.php
@@ -13,16 +13,24 @@ use Magento\Store\Model\ScopeInterface;
  */
 class AgreementsProvider implements AgreementsProviderInterface
 {
-    /** Path to config node */
+    /**
+     * Path to config node
+     */
     const PATH_ENABLED = 'checkout/options/enable_agreements';
 
-    /** @var \Magento\CheckoutAgreements\Model\Resource\Agreement\CollectionFactory */
+    /**
+     * @var Resource\Agreement\CollectionFactory
+     */
     protected $agreementCollectionFactory;
 
-    /** @var \Magento\Framework\App\Config\ScopeConfigInterface */
+    /**
+     * @var \Magento\Framework\App\Config\ScopeConfigInterface
+     */
     protected $scopeConfig;
 
-    /** @var  \Magento\Store\Model\StoreManagerInterface */
+    /**
+     * @var \Magento\Store\Model\StoreManagerInterface
+     */
     protected $storeManager;
 
     /**
@@ -47,13 +55,13 @@ class AgreementsProvider implements AgreementsProviderInterface
      */
     public function getRequiredAgreementIds()
     {
-        if (!$this->scopeConfig->isSetFlag(self::PATH_ENABLED, ScopeInterface::SCOPE_STORE)) {
-            return [];
-        } else {
-            return $this->agreementCollectionFactory->create()
-                ->addStoreFilter($this->storeManager->getStore()->getId())
-                ->addFieldToFilter('is_active', 1)
-                ->getAllIds();
+        $agreementIds = [];
+        if ($this->scopeConfig->isSetFlag(self::PATH_ENABLED, ScopeInterface::SCOPE_STORE)) {
+            $agreementCollection = $this->agreementCollectionFactory->create();
+            $agreementCollection->addStoreFilter($this->storeManager->getStore()->getId());
+            $agreementCollection->addFieldToFilter('is_active', 1);
+            $agreementIds = $agreementCollection->getAllIds();
         }
+        return $agreementIds;
     }
 }
diff --git a/app/code/Magento/CheckoutAgreements/Model/CheckoutAgreementsRepository.php b/app/code/Magento/CheckoutAgreements/Model/CheckoutAgreementsRepository.php
index 845bb2a9d2c742f1232e9a5ebfeb23ec9b85780f..b7074d5c97b2f6b21ee0166391bc3c759a7fd170 100644
--- a/app/code/Magento/CheckoutAgreements/Model/CheckoutAgreementsRepository.php
+++ b/app/code/Magento/CheckoutAgreements/Model/CheckoutAgreementsRepository.php
@@ -4,8 +4,6 @@
  * See COPYING.txt for license details.
  */
 
-// @codingStandardsIgnoreFile
-
 namespace Magento\CheckoutAgreements\Model;
 
 use Magento\CheckoutAgreements\Model\Resource\Agreement\CollectionFactory as AgreementCollectionFactory;
diff --git a/app/code/Magento/CheckoutAgreements/Test/Unit/Block/AgreementsTest.php b/app/code/Magento/CheckoutAgreements/Test/Unit/Block/AgreementsTest.php
new file mode 100644
index 0000000000000000000000000000000000000000..f898a3f8ef40a98365b7e640709d596faf14e7d8
--- /dev/null
+++ b/app/code/Magento/CheckoutAgreements/Test/Unit/Block/AgreementsTest.php
@@ -0,0 +1,99 @@
+<?php
+/**
+ * Copyright © 2015 Magento. All rights reserved.
+ * See COPYING.txt for license details.
+ */
+namespace Magento\CheckoutAgreements\Test\Unit\Block;
+
+use Magento\Store\Model\ScopeInterface;
+use Magento\CheckoutAgreements\Model\AgreementsProvider;
+
+class AgreementsTest extends \PHPUnit_Framework_TestCase
+{
+    /**
+     * @var \Magento\CheckoutAgreements\Block\Agreements
+     */
+    protected $model;
+
+    /**
+     * @var \PHPUnit_Framework_MockObject_MockObject
+     */
+    protected $agreementCollFactoryMock;
+
+    /**
+     * @var \PHPUnit_Framework_MockObject_MockObject
+     */
+    protected $scopeConfigMock;
+
+    /**
+     * @var \PHPUnit_Framework_MockObject_MockObject
+     */
+    protected $storeManagerMock;
+
+    protected function setUp()
+    {
+        $objectManager = new \Magento\Framework\TestFramework\Unit\Helper\ObjectManager($this);
+        $this->agreementCollFactoryMock = $this->getMock(
+            '\Magento\CheckoutAgreements\Model\Resource\Agreement\CollectionFactory',
+            ['create'],
+            [],
+            '',
+            false
+        );
+
+        $this->scopeConfigMock = $this->getMock('\Magento\Framework\App\Config\ScopeConfigInterface');
+        $this->storeManagerMock = $this->getMock('\Magento\Store\Model\StoreManagerInterface');
+
+        $contextMock = $this->getMock('\Magento\Framework\View\Element\Template\Context', [], [], '', false);
+        $contextMock->expects($this->once())->method('getScopeConfig')->willReturn($this->scopeConfigMock);
+        $contextMock->expects($this->once())->method('getStoreManager')->willReturn($this->storeManagerMock);
+
+        $this->model = $objectManager->getObject(
+            'Magento\CheckoutAgreements\Block\Agreements',
+            [
+                'agreementCollectionFactory' => $this->agreementCollFactoryMock,
+                'context' => $contextMock
+            ]
+        );
+    }
+
+    public function testGetAgreements()
+    {
+        $storeId = 100;
+        $this->scopeConfigMock->expects($this->once())
+            ->method('isSetFlag')
+            ->with(AgreementsProvider::PATH_ENABLED, ScopeInterface::SCOPE_STORE)
+            ->willReturn(true);
+
+        $agreementCollection = $this->getMock(
+            '\Magento\CheckoutAgreements\Model\Resource\Agreement\Collection',
+            [],
+            [],
+            '',
+            false
+        );
+        $this->agreementCollFactoryMock->expects($this->once())->method('create')->willReturn($agreementCollection);
+
+        $storeMock = $this->getMock('\Magento\Store\Model\Store', [], [], '', false);
+        $storeMock->expects($this->once())->method('getId')->willReturn($storeId);
+        $this->storeManagerMock->expects($this->once())->method('getStore')->willReturn($storeMock);
+
+        $agreementCollection->expects($this->once())->method('addStoreFilter')->with($storeId)->willReturnSelf();
+        $agreementCollection->expects($this->once())
+            ->method('addFieldToFilter')
+            ->with('is_active', 1)
+            ->willReturnSelf();
+
+        $this->assertEquals($agreementCollection, $this->model->getAgreements());
+    }
+
+    public function testGetAgreementsIfAgreementsDisabled()
+    {
+        $expectedResult = [];
+        $this->scopeConfigMock->expects($this->once())
+            ->method('isSetFlag')
+            ->with(AgreementsProvider::PATH_ENABLED, ScopeInterface::SCOPE_STORE)
+            ->willReturn(false);
+        $this->assertEquals($expectedResult, $this->model->getAgreements());
+    }
+}
diff --git a/app/code/Magento/CheckoutAgreements/Test/Unit/Block/Checkout/LayoutProcessorTest.php b/app/code/Magento/CheckoutAgreements/Test/Unit/Block/Checkout/LayoutProcessorTest.php
new file mode 100644
index 0000000000000000000000000000000000000000..5af45798bbbc0bf5381a225cfac77faddfbd1876
--- /dev/null
+++ b/app/code/Magento/CheckoutAgreements/Test/Unit/Block/Checkout/LayoutProcessorTest.php
@@ -0,0 +1,102 @@
+<?php
+/**
+ * Copyright © 2015 Magento. All rights reserved.
+ * See COPYING.txt for license details.
+ */
+namespace Magento\CheckoutAgreements\Test\Unit\Block\Checkout;
+
+class LayoutProcessorTest extends \PHPUnit_Framework_TestCase
+{
+    /**
+     * @var \Magento\CheckoutAgreements\Block\Checkout\LayoutProcessor
+     */
+    protected $model;
+
+    /**
+     * @var \PHPUnit_Framework_MockObject_MockObject
+     */
+    protected $escaperMock;
+
+    /**
+     * @var \PHPUnit_Framework_MockObject_MockObject
+     */
+    protected $agreementsRepositoryMock;
+
+    protected function setUp()
+    {
+        $objectManager = new \Magento\Framework\TestFramework\Unit\Helper\ObjectManager($this);
+
+        $this->escaperMock = $this->getMock('\Magento\Framework\Escaper', [], [], '', false);
+        $this->agreementsRepositoryMock = $this->getMock(
+            '\Magento\CheckoutAgreements\Api\CheckoutAgreementsRepositoryInterface'
+        );
+
+        $this->model = $objectManager->getObject(
+            'Magento\CheckoutAgreements\Block\Checkout\LayoutProcessor',
+            [
+                'escaper' => $this->escaperMock,
+                'checkoutAgreementsRepository' => $this->agreementsRepositoryMock
+            ]
+        );
+    }
+
+    public function testProcessIfAgreementWithHtml()
+    {
+        $agreementData = [
+            'content' => 'content',
+            'height' => '100',
+            'checkboxText' => 'checkbox_text'
+        ];
+
+        $jsLayout['components']['checkout']['children']['steps']['children']['billing-step']['children']['payment']
+        ['children']['payments-list']['children']['before-place-order']['children']['checkout-agreements-modal']
+        ['config']['agreementConfiguration'] = null;
+
+        $expectedResult = $jsLayout;
+        $expectedResult['components']['checkout']['children']['steps']['children']['billing-step']['children']['payment']
+        ['children']['payments-list']['children']['before-place-order']['children']['checkout-agreements-modal']
+        ['config']['agreementConfiguration'][] = $agreementData;
+
+        $agreementMock = $this->getMock('\Magento\CheckoutAgreements\Api\Data\AgreementInterface');
+        $this->agreementsRepositoryMock->expects($this->once())->method('getList')->willReturn([$agreementMock]);
+
+        $agreementMock->expects($this->once())->method('getIsHtml')->willReturn(true);
+        $agreementMock->expects($this->once())->method('getContent')->willReturn($agreementData['content']);
+        $agreementMock->expects($this->once())->method('getContentHeight')->willReturn($agreementData['height']);
+        $agreementMock->expects($this->once())->method('getCheckboxText')->willReturn($agreementData['checkboxText']);
+
+        $this->assertEquals($expectedResult, $this->model->process($jsLayout));
+    }
+
+    public function testProcessIfAgreementRichText()
+    {
+        $agreementData = [
+            'content' => 'content',
+            'height' => '100',
+            'checkboxText' => 'checkbox_text'
+        ];
+
+        $jsLayout['components']['checkout']['children']['steps']['children']['billing-step']['children']['payment']
+        ['children']['payments-list']['children']['before-place-order']['children']['checkout-agreements-modal']
+        ['config']['agreementConfiguration'] = null;
+
+        $expectedResult = $jsLayout;
+        $expectedResult['components']['checkout']['children']['steps']['children']['billing-step']['children']['payment']
+        ['children']['payments-list']['children']['before-place-order']['children']['checkout-agreements-modal']
+        ['config']['agreementConfiguration'][] = $agreementData;
+
+        $agreementMock = $this->getMock('\Magento\CheckoutAgreements\Api\Data\AgreementInterface');
+        $this->agreementsRepositoryMock->expects($this->once())->method('getList')->willReturn([$agreementMock]);
+
+        $this->escaperMock->expects($this->once())->method('escapeHtml')
+            ->with($agreementData['content'])
+            ->willReturn($agreementData['content']);
+
+        $agreementMock->expects($this->once())->method('getIsHtml')->willReturn(false);
+        $agreementMock->expects($this->once())->method('getContent')->willReturn($agreementData['content']);
+        $agreementMock->expects($this->once())->method('getContentHeight')->willReturn($agreementData['height']);
+        $agreementMock->expects($this->once())->method('getCheckboxText')->willReturn($agreementData['checkboxText']);
+
+        $this->assertEquals($expectedResult, $this->model->process($jsLayout));
+    }
+}
diff --git a/app/code/Magento/CheckoutAgreements/Test/Unit/Model/AgreementsConfigProviderTest.php b/app/code/Magento/CheckoutAgreements/Test/Unit/Model/AgreementsConfigProviderTest.php
new file mode 100644
index 0000000000000000000000000000000000000000..c59b745e6d1ad69b5a1bc5c1959c9e8a64d929f7
--- /dev/null
+++ b/app/code/Magento/CheckoutAgreements/Test/Unit/Model/AgreementsConfigProviderTest.php
@@ -0,0 +1,53 @@
+<?php
+/**
+ * Copyright © 2015 Magento. All rights reserved.
+ * See COPYING.txt for license details.
+ */
+namespace Magento\CheckoutAgreements\Test\Unit\Model;
+
+use Magento\Store\Model\ScopeInterface;
+use Magento\CheckoutAgreements\Model\AgreementsProvider;
+
+class AgreementsConfigProviderTest extends \PHPUnit_Framework_TestCase
+{
+    /**
+     * @var \Magento\CheckoutAgreements\Model\AgreementsConfigProvider
+     */
+    protected $model;
+
+    /**
+     * @var \PHPUnit_Framework_MockObject_MockObject
+     */
+    protected $scopeConfigMock;
+
+    protected function setUp()
+    {
+        $objectManager = new \Magento\Framework\TestFramework\Unit\Helper\ObjectManager($this);
+
+        $this->scopeConfigMock = $this->getMock('\Magento\Framework\App\Config\ScopeConfigInterface');
+        $this->model = $objectManager->getObject(
+            'Magento\CheckoutAgreements\Model\AgreementsConfigProvider',
+            ['scopeConfiguration' => $this->scopeConfigMock]
+        );
+    }
+
+    public function testGetConfigIfAgreementsEnabled()
+    {
+        $expectedResult = ['checkoutAgreementsEnabled' => true];
+        $this->scopeConfigMock->expects($this->once())
+            ->method('isSetFlag')
+            ->with(AgreementsProvider::PATH_ENABLED, ScopeInterface::SCOPE_STORE)
+            ->willReturn(true);
+        $this->assertEquals($expectedResult, $this->model->getConfig());
+    }
+
+    public function testGetConfigIfAgreementsDisabled()
+    {
+        $expectedResult = [];
+        $this->scopeConfigMock->expects($this->once())
+            ->method('isSetFlag')
+            ->with(AgreementsProvider::PATH_ENABLED, ScopeInterface::SCOPE_STORE)
+            ->willReturn(false);
+        $this->assertEquals($expectedResult, $this->model->getConfig());
+    }
+}
diff --git a/app/code/Magento/CheckoutAgreements/Test/Unit/Model/AgreementsProviderTest.php b/app/code/Magento/CheckoutAgreements/Test/Unit/Model/AgreementsProviderTest.php
new file mode 100644
index 0000000000000000000000000000000000000000..c19fb920e31556638a695f9075f68df7c4540543
--- /dev/null
+++ b/app/code/Magento/CheckoutAgreements/Test/Unit/Model/AgreementsProviderTest.php
@@ -0,0 +1,98 @@
+<?php
+/**
+ * Copyright © 2015 Magento. All rights reserved.
+ * See COPYING.txt for license details.
+ */
+namespace Magento\CheckoutAgreements\Test\Unit\Model;
+
+use Magento\Store\Model\ScopeInterface;
+use Magento\CheckoutAgreements\Model\AgreementsProvider;
+
+class AgreementsProviderTest extends \PHPUnit_Framework_TestCase
+{
+    /**
+     * @var \Magento\CheckoutAgreements\Model\AgreementsProvider
+     */
+    protected $model;
+
+    /**
+     * @var \PHPUnit_Framework_MockObject_MockObject
+     */
+    protected $scopeConfigMock;
+
+    /**
+     * @var \PHPUnit_Framework_MockObject_MockObject
+     */
+    protected $agreementCollFactoryMock;
+
+    /**
+     * @var \PHPUnit_Framework_MockObject_MockObject
+     */
+    protected $storeManagerMock;
+
+    protected function setUp()
+    {
+        $objectManager = new \Magento\Framework\TestFramework\Unit\Helper\ObjectManager($this);
+
+        $this->agreementCollFactoryMock = $this->getMock(
+            '\Magento\CheckoutAgreements\Model\Resource\Agreement\CollectionFactory',
+            [],
+            [],
+            '',
+            false
+        );
+        $this->storeManagerMock = $this->getMock('\Magento\Store\Model\StoreManagerInterface');
+        $this->scopeConfigMock = $this->getMock('\Magento\Framework\App\Config\ScopeConfigInterface');
+
+        $this->model = $objectManager->getObject(
+            'Magento\CheckoutAgreements\Model\AgreementsProvider',
+            [
+                'agreementCollectionFactory' => $this->agreementCollFactoryMock,
+                'storeManager' => $this->storeManagerMock,
+                'scopeConfig' => $this->scopeConfigMock
+            ]
+        );
+    }
+
+    public function testGetRequiredAgreementIdsIfAgreementsEnabled()
+    {
+        $storeId = 100;
+        $expectedResult = [1, 2, 3, 4, 5];
+        $this->scopeConfigMock->expects($this->once())
+            ->method('isSetFlag')
+            ->with(AgreementsProvider::PATH_ENABLED, ScopeInterface::SCOPE_STORE)
+            ->willReturn(true);
+
+        $agreementCollection = $this->getMock(
+            '\Magento\CheckoutAgreements\Model\Resource\Agreement\Collection',
+            [],
+            [],
+            '',
+            false
+        );
+        $this->agreementCollFactoryMock->expects($this->once())->method('create')->willReturn($agreementCollection);
+
+        $storeMock = $this->getMock('\Magento\Store\Model\Store', [], [], '', false);
+        $storeMock->expects($this->once())->method('getId')->willReturn($storeId);
+        $this->storeManagerMock->expects($this->once())->method('getStore')->willReturn($storeMock);
+
+        $agreementCollection->expects($this->once())->method('addStoreFilter')->with($storeId)->willReturnSelf();
+        $agreementCollection->expects($this->once())
+            ->method('addFieldToFilter')
+            ->with('is_active', 1)
+            ->willReturnSelf();
+        $agreementCollection->expects($this->once())->method('getAllIds')->willReturn($expectedResult);
+
+        $this->assertEquals($expectedResult, $this->model->getRequiredAgreementIds());
+    }
+
+    public function testGetRequiredAgreementIdsIfAgreementsDisabled()
+    {
+        $expectedResult = [];
+        $this->scopeConfigMock->expects($this->once())
+            ->method('isSetFlag')
+            ->with(AgreementsProvider::PATH_ENABLED, ScopeInterface::SCOPE_STORE)
+            ->willReturn(false);
+        $this->assertEquals($expectedResult, $this->model->getRequiredAgreementIds());
+    }
+}