#include "base/basictypes.h"
#include "base/memory/ref_counted.h"
#include "sync/engine/resolve_conflicts_command.h"
#include "sync/internal_api/public/base/model_type.h"
#include "sync/sessions/sync_session.h"
#include "sync/syncable/syncable_id.h"
#include "sync/test/engine/fake_model_worker.h"
#include "sync/test/engine/syncer_command_test.h"
#include "testing/gtest/include/gtest/gtest.h"
namespace syncer {
namespace {
class ResolveConflictsCommandTest : public SyncerCommandTest {
protected:
ResolveConflictsCommandTest() {}
virtual ~ResolveConflictsCommandTest() {}
virtual void SetUp() {
workers()->push_back(
make_scoped_refptr(new FakeModelWorker(GROUP_UI)));
workers()->push_back(
make_scoped_refptr(new FakeModelWorker(GROUP_PASSWORD)));
(*mutable_routing_info())[BOOKMARKS] = GROUP_UI;
(*mutable_routing_info())[PASSWORDS] = GROUP_PASSWORD;
SyncerCommandTest::SetUp();
}
ResolveConflictsCommand command_;
private:
DISALLOW_COPY_AND_ASSIGN(ResolveConflictsCommandTest);
};
TEST_F(ResolveConflictsCommandTest, GetGroupsToChange) {
ExpectNoGroupsToChange(command_);
session()->mutable_status_controller()->
GetUnrestrictedMutableConflictProgressForTest(GROUP_PASSWORD)->
AddSimpleConflictingItemById(syncable::Id());
ExpectGroupToChange(command_, GROUP_PASSWORD);
}
}
}